嵌入式项目开发一般使用C语言开发,以dsp28377d开发为例,使用TI的CCS,TI的c语言编译器编译。由于历史原因c语言编译器中不包含lint程序,这样极大的简化了编译器的设计和实现但是对开发人员提出了更高的要求,如下图的空指针解引用和数组越界访问的例子:
CCS的编译器未对此报出任何的错误或者警告,而使用cppcheck扫描结果如下图:
Cppcheck能准确的报出所有三个错误。
- Cppcheck的使用
Cppcheck是一个开源的C/C++代码缺陷静态检查工具,支持windows、linux等常见平台,并且能和CCS无缝集成,以下简单介绍在windows平台上和CCS集成使用的方法。
2.1 安装cppcheck
从http://cppcheck.net/上下载cppcheck的最新版本(目前是1.83)后,先进行安装。
2.2 ccs中安装cppcheck插件
打开ccs后按照下图操作:
搜索栏输入cppcheck后回车搜索即可,最后点击install即可。
2.3 ccs中设置cppcheck
重启ccs后,按下图操作:
左下角显示高级设置后,选择c/c++->cppcheclipse。
将cppcheck的安装目录填入即可。
注:可选择settting对check的规则进行设置,初次使用建议使用默认设置即可。
2.4 ccs中使用cppcheck
安装完cppcheck和ccs的cppcheck插件后就可以在ccs中直接使用cppcheck了。如下图所示,在项目上右键弹出的菜单中选择cppcheck->run cppcheck即可。