- 博客(6)
- 收藏
- 关注
原创 Windows下基于Gtest框架及OpenCppCoverage插件对已有VS项目进行单元测试及代码覆盖率统计
以上为完整步骤,后续可以调试复杂函数。
2025-01-15 10:51:09
873
原创 data数据段空间不足导致编译失败问题查证
栈区由编译器自动分配释放,由操作系统自动管理,无须手动管理。栈区上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。栈区按内存地址由高到低方向生长,其最大大小由编译时确定,速度快,但自由性差,最大空间不大。栈区是先进后出原则,即先进去的被堵在屋里的最里面,后进去的在门口,释放的时候门口的先出去。在开发过程中,碰到过因为局部变量过大,导致栈溢出,编译成功,但是程序运行崩溃的问题,下次有时间记录。堆区由程序员分配内存和释放。
2025-01-15 10:27:51
1614
原创 变量地址分配重叠导致功能失效问题查证
在芯片上和本地vs上内存分配的方式不同,本地vs全局变量是直接命名申请,在芯片上不是这样。因为芯片上内存空间宝贵,所以会规划每个功能模块只能使用某一块内存,即每个模块会拿到一个地址和长度,分别表示本模块可以使用内存的首地址和内存长度。命名全局变量时,是通过在上面提到的内存空间上,以指针偏移数组的形式来分配的。
2025-01-15 09:54:13
573
原创 数值溢出导致的程序终止问题
在芯片上开发时,常常因为要省空间,将变量类型取得很小,使用 1字节,2字节等,(如果空间够用,直接使用 unsigned int类型),所以时有出现数值溢出/数值不够导致的代码死循环、死代码等问题。
2025-01-14 16:41:07
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人