Cppcheck 是 C/C++ 代码的静态分析工具。它提供独特的代码分析来检测错误,并专注于检测未定义的行为和 危险的编码结构。目标是获得极少的误报。
它能够帮助开发者发现潜在的问题,如内存泄漏、数组越界、未初始化变量的使用等,从而提高代码的质量和安全性。
免费: cppcheck有免费开源版本和收费版本,使用开源版本就开源满足绝大部分需求。
跨平台: Cppcheck 是跨平台的。有适用于 Windows、Linux、Mac、BSD 的安装包。它也在各种其他操作系统上编译和运行。
使用简单: 支持命令行和图形界面、集成到第三方IDE中。
易于集成: 该工具可轻松集成到许多不同的开发环境中。您可以在 Visual Studio、VScode、Eclipse、Clion、Qt Creator、C++ Builder 和许多其他 C/C++ IDE 中运行它。
可检测的未定义行为
- 野指针、空指针
- 除零异常
- 整数溢出
- 无效的移位操作数
- 无效的转化
- STL 的无效使用
- 内存泄漏
- 越界检查
- 未初始化的变量
- 写入 const 数据
- 详细检查内容
注意:每种静态分析工具都有自己的优缺点,所以不必强调哪个最牛,多种工具混合检测会检查更加全面,但是静态分析工具会消耗电脑性能,所以使用一个还是多个需要自己权衡利弊。