CppCheck是一个静态代码检查工具,用来检查代码缺陷,如数组越界,内存泄露等,具体可参考官网:http://cppcheck.sourceforge.net/。其他类似的软件有PC-Lint,据说非常好,一些大型软件公司首先用它来检查代码是否规范。
CppCheck是开源项目,可以从官网上获得其源代码。呵呵
下面说一下,使用心得吧。
1)个人感觉,检查功能挺好的,目前我只测试了数组越界和内存泄露两种检测功能,就自身的知识来说,对此很满意;
举例说明一下。数组越界: int a[5]; a[5]=1; 这类错误可以检查出来
int a[5]; int n=5; a[n]=1; 同样也检查出来了
内存泄露: int pA = new char(); free(pA); 内存分配机制不匹配
int pA = new char[5]; delete pA; 内存分配机制不匹配
暂举这两个例子,有情趣,可以自己试着测试一下。
2)可以利用VS的集成功能把CppCheck作为工具集成到Vs集成开发环境中,方便使用(注意:对于中文路径,CppCheck不能有效识别,所以检测的代码路径别出现中文)
3)CppCheck应该是在Linux环境下开发的,尽管我没有在linux下使用,但看其源代码,资料还是相当丰富的。