一、工具介绍
Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型。这个工具容易上手,建议大家安装使用。
PC-Lint这个工具上手慢,需要学习一下才能使用。目前研发中心在使用这个工具。
二、内存分配使用建议
1、嵌入式系统内存分配要受控,如果实现一个功能需要分配或使用大于10K同时小于100K的内存,需要重新审视数据结构和算法,寻找优化的方法;如果需要大于100K的内存,尽量放弃使用此数据结构或算法;
2、内存分配函数malloc和free,内存分配运算符new和delete最好要封装使用,方便以后查内存泄漏;
3、如果需要分配缓冲,建议采用STL的string来实现;
4、对于永不释放的内存占用(采用malloc和new分配的内存),尽量采用静态全局变量来实现,这样可以防止堆区零零碎碎,即产生过多的碎片。
三、项目代码走查工作安排
各个项目负责人根据当前工作及项目的紧急情况,在6月份完成负责项目的代码走查,并按走查结果,根据建议情况进行酌情修改,即能调整或方便调整的,改成工具要求的样式。
四、项目代码走查汇总
项目 | 错误 | 一般告警 | 风格问题 | 可移植性问题 | 性能问题 |
营配项目(dyjc_8090) | 117 | 1776 | 883 | 179 | 532 |
广东负控项目 | 51 | 360 | 408 | 92 | 108 |
重庆集抄项目 | 33 | 789 | 994 | 174 | 332 |
计量核心资源项目 | 14 | 52 | 31 | 0 | 19 |
新标准国网嵌软项目 | 1 | 65 | 51 | 342 | 62 |
1、以前的老项目代码走查耗时较久,约要半小时。新开发的项目,如核心资源代码、新国网代码,在一分钟内就完成了走查。
2、总体上来说,新开发的项目代码质量优于老项目。
五、项目代码走查具体情况
1、营配项目(dyjc_8090)
2、广东负控项目
3、国网重庆集抄项目
4、计量核心资源
5、新标准国网嵌软
六、Cppcheck简单使用
1、将Cppcheck绿色版cppcheck.rar解压;
2、打开cppcheckgui.exe;
3、菜单 check->directory;
4、选择源代码目录,确认;
5、Cppcheck自动开始走查;