Cppcheck是一款专注于C/C++程序代码缺陷静态检查的工具。与C/C++编译器及其他分析工具不同,Cppcheck可以发现编译器无法检测到的BUG,使得用户程序中的隐藏缺陷无所遁形。然而,需要注意的是,Cppcheck并不负责检查用户的语法错误,这仍需依赖于用户的编译器。它支持检查C和C++代码,作为编译器的一种补充检查工具,Cppcheck能够帮助用户发现软件中的一些小瑕疵,从而减少BUG的出现。对于C语言程序员而言,Cppcheck不仅能够提升代码质量,还可以减少测试人员的工作量,是一款非常实用的工具。
超出范围检查
内存泄漏检查
检测可能的空指针解引用
检查未初始化的变量
检查STL的无效使用情况
检查异常安全
如果使用过时或不安全的功能,则发出警告
警告未使用或冗余代码
检测各种可疑代码,指示错误
客户端和插件
Cppcheck与许多流行的开发工具集成在一起。 例如:
CLion - Cppcheck插件
代码::块 - 集成
CodeDX(软件保证工具) - 集成
CodeLite - 集成
CppDepend 5 - 集成
Eclipse - Cppcheclipse
gedit - gedit插件
哈德森 - Cppcheck插件
Jenkins - Cppcheck插件
Mercurial(Linux) - 预提交钩子 - 检查提交时的新错误(需要交互式终端)
Tortoise SVN - 添加预提交钩子脚本
Git(Linux) - 预提交钩子 - 检查进入提交的文件中的错误(需要交互式终端)
Visual Studio - Visual Studio插件
QtCreator - Qt项目工具(qpt)