- 博客(18)
- 收藏
- 关注
原创 vmware扩容
近日有了炼丹需求,打开了久违的vmware虚拟机。在看了某操作文档之后,按照一系列命令在terminal上疯狂敲打…突然!那就扩容一下吧!
2024-09-22 08:13:43
976
原创 rtthread之object.c
rtthread充分利用了面向对象的编程思想,其中object.c文件中维护了非常重要的rt_object对象的操作接口。前面的文章中拿出了钩子函数体会面向对象的设计思想。本篇。
2024-09-14 19:25:48
510
原创 RT-Thread钩子函数(2)
上篇提到rtthread有很多使用钩子函数的地方,比如在内核对象创建的过程中,当对象创建、删除等会触发相应的钩子函数。钩子函数可以体现rtthread的面向对象c的思想。
2024-09-14 09:19:55
450
原创 MISRA-C编码标准解读:Rule 5.1至Rule5.7【标识符】
存在三种不同的 类型:(纯)、 和 。 和 应用于数值数据,而 (纯)类型应用于字符数据。基本数值类型,包括 、、、 的带符号和无符号变体以及 和 ,不应当被直接使用,而应当使用特定长度的 。对于 32 位整数机器,定义如下:规则 6.4(必须):位字段应当仅被定义为 或 类型虽然位字段本身使用和可以避免由此导致的未定义行为。规则 6.5(必须):带符号类型的位字段长度至少应当为2位长度为1位的带符号位字段没有实际用途。
2024-08-06 20:27:38
356
1
原创 c/c++链表节点元素指哪打哪(不正规玩法)
我们知道Python、Java等编程语言在进行对象管理时,往往将对象分配在堆内存中。而c/c++中的对象(结构体)数据存储则更灵活。比如在c/c++中,定义一个结构体对象,表示字符串链表的节点。char* str;/* 用于增加链表节点 */// 将链表中的字符串添加到链表尾部= NULL){int i = 0;for(i = 1;i < 3;return 0;
2024-08-04 18:03:04
284
原创 MISRA-C编码标准解读:Rule 5.1至Rule5.7【标识符】
标识符,包括变量名、函数名、类型名等,是编程语言中用来区分和引用程序元素的基本构造单元。良好的标识符命名实践是确保代码可读性、可维护性和可靠性的关键因素之一。本文基于MISRA-C手册进行学习和总结标识符相关规则。文末附参考文献地址。解释: 此规则要求类型定义名(typedef名称)必须在整个程序中是唯一的,不得在任何地方被重用,无论作为其他typedef名称还是用于任何其他目的。即使在不同的源文件中,也不允许出现相同的类型定义,即使它们的声明完全相同。
2024-08-04 14:48:34
2140
原创 MISRA-C编码标准解读:Rule 4.1至Rule 4.2
在本文中,我们将聚焦于规则4.1和4.2,这两个规则关注于源代码中的字符表示。解释此规则要求开发人员仅使用ISO C标准中定义的转义序列。这意味着诸如十六进制转义序列和除了\0之外的所有八进制转义序列均被禁止。示例/* 使用标准转义序列 */\n");/* 使用非标准的十六进制转义序列 'A' */return 0;遵循MISRA-C规则4.1和4.2,即仅使用标准的转义序列和完全避免三字符序列,有助于确保代码的跨平台兼容性、减少潜在的语法错误,以及提高代码的整体质量和可读性。
2024-07-25 15:12:36
332
原创 基于vscode环境,浅析C程序函数调用的栈内存分布
在程序执行的过程中,每一行代码背后都隐藏着复杂的内存操作。理解函数调用栈如何管理这些变化,对于每一个程序员而言都是至关重要的技能。本文将结合vscode分析函数调用栈,揭示程序如何动态地管理内存,从而帮助我们更高效地调试和优化代码。本文主要结合了函数调用栈的相关博客和视频,并加入自己的理解。每一次函数调用的背后,都有一个精心设计的内存舞台,等待着我们去探索和驾驭。
2024-07-23 22:39:11
1026
原创 vscode调试项目环境配置
最近有空研究c和cpp的项目,由于个人使用习惯,通常在vscode环境下进行开发工作。我想很多同学和我一样,采用的是windows+vscode的c/cpp环境(小声哔哔)。但是研究复杂的项目时,往往debug是个难题。经过网上多个文章的整合,终于将vscode的c环境配置好(cpp是类似的)。其实主要就是task.json文件和llaunch.json该怎么写的问题。学到的同学们,赶紧去试试吧!!!
2024-07-23 19:01:41
382
原创 MISRA-C编码标准解读:Rule 2.1至Rule 2.4
遵守MISRA-C的规则是构建安全可靠软件的关键步骤。从规范汇编语言的使用到统一注释风格,再到谨慎处理代码的启用和禁用,每一条规则都旨在减少潜在的错误和增强代码的可读性与可维护性。开发者应当深入了解并严格执行这些标准,以确保软件的质量和安全性。
2024-07-21 21:06:34
851
1
原创 MISRA-C编码标准解读:Rule 1.1至Rule 1.5
在活跃的汽车领域中,不同开发人员的开发习惯不尽相同。良好的开发习惯不仅让自己看自己开发的代码赏心悦目,也能更好地与同事协同。
2024-07-21 20:24:02
576
原创 socket知识:
inet_addr(),inet_aton() 点分十进制转换为网络字节序。种状态(如上面的ESTABLISHED状态和CLOSE_WAIT状态),更不关。send成功时返回实际写入的数据的长度,失败则返回-1并设置errno。//ipv4网络字节序地址。backlog:半连接和和全连接状态的socket的上限。注意:客户端不需要命名,服务端需要命名,因为命名才能被连接。
2023-03-14 15:20:06
168
1
原创 Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]报错解决
Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]报错解决
2022-11-19 13:58:11
414
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人