自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 RT-Thread钩子函数(2)

上篇提到rtthread有很多使用钩子函数的地方,比如在内核对象创建的过程中,当对象创建、删除等会触发相应的钩子函数。钩子函数可以体现rtthread的面向对象c的思想。

2024-09-14 09:19:55 213

原创 GDB常用指令

gdb最常用的指令...

2024-08-10 10:00:14 197

原创 MISRA-C编码标准解读:Rule 5.1至Rule5.7【标识符】

存在三种不同的 类型:(纯)、 和 。 和 应用于数值数据,而 (纯)类型应用于字符数据。基本数值类型,包括 、、、 的带符号和无符号变体以及 和 ,不应当被直接使用,而应当使用特定长度的 。对于 32 位整数机器,定义如下:规则 6.4(必须):位字段应当仅被定义为 或 类型虽然位字段本身使用和可以避免由此导致的未定义行为。规则 6.5(必须):带符号类型的位字段长度至少应当为2位长度为1位的带符号位字段没有实际用途。

2024-08-06 20:27:38 230

原创 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 265

原创 MISRA-C编码标准解读:Rule 5.1至Rule5.7【标识符】

标识符,包括变量名、函数名、类型名等,是编程语言中用来区分和引用程序元素的基本构造单元。良好的标识符命名实践是确保代码可读性、可维护性和可靠性的关键因素之一。本文基于MISRA-C手册进行学习和总结标识符相关规则。文末附参考文献地址。解释: 此规则要求类型定义名(typedef名称)必须在整个程序中是唯一的,不得在任何地方被重用,无论作为其他typedef名称还是用于任何其他目的。即使在不同的源文件中,也不允许出现相同的类型定义,即使它们的声明完全相同。

2024-08-04 14:48:34 1597

原创 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 242

原创 基于vscode环境,浅析C程序函数调用的栈内存分布

在程序执行的过程中,每一行代码背后都隐藏着复杂的内存操作。理解函数调用栈如何管理这些变化,对于每一个程序员而言都是至关重要的技能。本文将结合vscode分析函数调用栈,揭示程序如何动态地管理内存,从而帮助我们更高效地调试和优化代码。本文主要结合了函数调用栈的相关博客和视频,并加入自己的理解。每一次函数调用的背后,都有一个精心设计的内存舞台,等待着我们去探索和驾驭。

2024-07-23 22:39:11 610

原创 vscode调试项目环境配置

最近有空研究c和cpp的项目,由于个人使用习惯,通常在vscode环境下进行开发工作。我想很多同学和我一样,采用的是windows+vscode的c/cpp环境(小声哔哔)。但是研究复杂的项目时,往往debug是个难题。经过网上多个文章的整合,终于将vscode的c环境配置好(cpp是类似的)。其实主要就是task.json文件和llaunch.json该怎么写的问题。学到的同学们,赶紧去试试吧!!!

2024-07-23 19:01:41 318

原创 rt-thread钩子函数设置

从rtthread有很多使用钩子函数的地方,比如在内核对象创建的过程中,当对象创建、删除等会触发相应的钩子函数。

2024-07-22 09:40:43 408

原创 MISRA-C编码标准解读:Rule 2.1至Rule 2.4

遵守MISRA-C的规则是构建安全可靠软件的关键步骤。从规范汇编语言的使用到统一注释风格,再到谨慎处理代码的启用和禁用,每一条规则都旨在减少潜在的错误和增强代码的可读性与可维护性。开发者应当深入了解并严格执行这些标准,以确保软件的质量和安全性。

2024-07-21 21:06:34 426

原创 MISRA-C编码标准解读:Rule 1.1至Rule 1.5

在活跃的汽车领域中,不同开发人员的开发习惯不尽相同。良好的开发习惯不仅让自己看自己开发的代码赏心悦目,也能更好地与同事协同。

2024-07-21 20:24:02 331

原创 多路io复用select,poll,epoll

多路io复用select,poll,epoll。

2023-03-29 15:49:51 49

原创 linux下epoll的API

本文参考Linux高性能服务器编程-游双。

2023-03-29 15:48:31 50

原创 socket知识:

inet_addr(),inet_aton() 点分十进制转换为网络字节序。种状态(如上面的ESTABLISHED状态和CLOSE_WAIT状态),更不关。send成功时返回实际写入的数据的长度,失败则返回-1并设置errno。//ipv4网络字节序地址。backlog:半连接和和全连接状态的socket的上限。注意:客户端不需要命名,服务端需要命名,因为命名才能被连接。

2023-03-14 15:20:06 126 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 318 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除