CppCheck
CppCheck
一. cppcheck介绍
cppcheck 是一个静态代码检查工具,支持c, c++ 代码;作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。 执行的检查包括:
- 自动变量检查
- 数组的边界检查
- class类检查
- 过期的函数,废弃函数调用检查
- 异常内存使用,释放检查
- 内存泄漏检查,主要是通过内存引用指针
- 操作系统资源释放检查,中断,文件描述符等
- 异常STL 函数使用检查
- 代码格式错误,以及性能因素检查
更多介绍参考:https://cppcheck.sourceforge.io/
二. 安装cppcheck
linux环境下的cppcheck的下载地址如下:http://sourceforge.net/projects/cppcheck/files/cppcheck/1.49/cppcheck-1.49.tar.gz/download,当前最新的版本是1.49。
解压文件:tar xvf cppcheck-1.49.tar.gz
编译文件:cd cppcheck-1.49 & make
Debian:
sudo apt install cppcheck
三. cppcheck使用
运行cppcheck -h可以得到参数的提示,这里直介绍我用到的参数
cppcheck -j 3 --xml-version=2 --enable=all $PWD/src/ -i$PWD/src/public 2> checkstyle-results.xml
-j参数指定的是检查线程的个数,如果需要检查代码的量很大,-j参数还是很有用的
--enable指定当前指定的检查级别,可选的参数有all,style,information等
-i指定需要忽略的目录
如何跳过第三方头文件的目录?
第一种选择是仅提供路径和文件 你想检查。
cppcheck src/a src/b
然后检查src / a和src / b下的所有文件。
第二个选项是使用-i,用它指定要忽略的文件/路径。使用此命令,不会检查src / c中的文件:
cppcheck -isrc/c src
此选项目前不适用于--project选项,仅在提供输入时有效 。目录
忽略多个目录多次提供-i。以下命令忽略 src / b和src / c目录。
cppcheck -isrc/b -isrc/c

浙公网安备 33010602011771号