cppcheck
1、检查文件夹中的所有文件
cppcheck path
2、手动检查文件或使用项目文件
cppcheck src/a src/b
3、检查时排除某个文件或文件夹
方式二:使用 -i 选项
cppcheck -isrc/c src
cppcheck --enable=warning file.c
错误
当发现 bug 时使用
警告
关于防御性编程,以防止 bug 的建议
风格警告
风格有关问题的代码清理(未使用的函数、冗余代码、常量性等等)
可移植性警告
可移植性警告。64 位的可移植性,代码可能在不同的编译器中运行结果不同。
性能警告
建议使代码更快。这些建议只是基于常识,即使修复这些消息,也不确定会得到任何可测量的性能提升。
信息消息
配置问题,建议在配置期间仅启用这些。
cppcheck --enable=all
cppcheck file.c 2> err.txt
多线程检查
cppcheck -j 4 path
XML 输出
cppcheck --xml-version=2 file.cpp
(1).error: 执行代码时未定义的行为或其它错误,如内存泄漏;
(2).warning: 执行代码时可能存在未定义的行为;
(3).style: 风格问题,例如未使用的函数、冗余代码、constness、运算符优先级、可能的错误;
(4).performance: 基于常识(common knowledge)的运行时性能建议;
(5).portability: 可移植性警告;
(6).information: 配置问题,与语法正确性无关.