摘要:介绍代码缺陷静态检查工具(static code analyzer)cppcheck,以及其vs、qtcreator、git、jenkins插件及用法。
Cppcheck着重于检测未定义的行为和危险的编码结构,未定义行为包括:
死去的指针
除零
整数溢出
无效位移位操作数
无效的转换
STL的无效使用
内存管理
空指针取消引用
出界检验
未初始化变量
文字常量数据
更多检查范围参考cppcheck/wiki/ListOfChecks/
一. 源码编译
项目github地址
使用cmake、qmake、vs等编译方式直接参考项目readme.md
一. 可执行文件
安装
windows安装文件github-release下载地址
linux下可使用dnf、yum、apt-get等直接安装
安装过程略,如果被外部引用,将cppcheck.exe所在目录加入Path,打开cppcheckgui.exe即可进行代码检查。
命令行基本用法示例【参考地址】:
cppcheck foo.cpp src/a.cc # 检查指定的[多个]文件
cppcheck dir # 递归检查dir中所有文件
cppcheck -isrc/a.cc src # 检查src下除a.cc以外的文件,使用-i选项排除.
cppcheck --enable=warning,performance,style,information,all foo.cc #警告等级
cppcheck -j4 src # 多线程
cpp