cppcheck linux是一款帮助我们的用户进行C/C++程序代码缺陷静态检查的工具,不同于C/C++编译器及其他分析工具,你可以利用这款软件轻而易举的进行软件检查,从而检查出编译器查不到的各类BUG,让用户程序中的BUG无所遁形,是一款非常不错的功能类软件。
cppcheck linux虽然强大但是不会检查用户的语法错误,所以用户还是需要编译器来实现其他的错误检查,软件支持C/C++语言,不过作为一款检查静态代码缺陷的工具,不会对其他错误有反应,所以用户还是需要一些其他的检查工具来检测程序的错误,有需要的用户不要错过这款软件哦。
cppcheck linux(C/C++静态代码分析工具)特色
超出范围检查
内存泄漏检查
检测可能的空指针解引用
检查未初始化的变量
检查STL的无效使用情况
检查异常安全
如果使用过时或不安全的功能,则发出警告
警告未使用或冗余代码
检测各种可疑代码,指示错误
cppcheck安装教程
解压,之后安装:
编译:
g++ -o cppcheck -Ilib cli/*.cpp lib/*.cpp
安装:
make install
cppcheck默认安装会报错如下:
cppcheck: unusedFunction check can't be used with '-j' option. Disabling unusedFunction check.
(information) Failed to load std.cfg. Your Cppcheck installation is broken, please re-install. The Cppcheck binary was compiled without CFGDIR set. Either the std.cfg should be available in cfg or the CFGDIR should be configured.
因此我直接不用他们的make,而是直接使用g++参数编译:g++ -o cppcheck -Ilib cli/*.cpp lib/*.cpp
然后就是检查了
cppcheck -j 3 --enable=all src/
使用方法
1、 使能检查规则:
默认:--enable=error
--enable=all
--enable=unusedFuntion path
--enable=style
2、规则定义:
error:出现的错误
warning:为了预防bug防御性编程建议信息
style:编码格式问题(没有使用的函数、多余的代码等)
portablity:移植性警告。该部分如果移植到其他平台上,可能出现兼容性问题
performance:建议优化该部分代码的性能
information:一些有趣的信息,可以忽略不看的。
3、保存结果到文件中:重定向“>”
4、-j 3 使用3个线程,如果代码工程太大,可以使用15-20个,自己随意发挥,不过还是参考cpuinfo
工具介绍
客户端和插件
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)
网友评论