简介cppcheck是一款C/C++静态代码检查工具。它不仅可以检查代码中的语法错误,还可以检查编译器无法检查的缺陷,从而有助于提高代码质量。cppcheck可以发现很多错误,但不是所有错误。简要说明首先使用如下命令安装:sudoaptinstallcppcheckcppcheck支持的检测功能如下:野指针。整型变量溢出。无效的移位操作数。转换无效。STL库的使用无效。内存泄漏检测。代码格式错误和性能原因检查。要检查一个文件的代码,只需要执行以下操作:cppcheck[filename]要检查目录中的所有代码,只需执行以下操作:cppcheck[path]默认情况下,只显示错误信息,可以通过"--enable"命令开始更多的检查,可用的命令如下:--enable=error#发现错误时的提示级别--enable=style#编码格式问题,未使用的函数,冗余代码等.--enable=portability#开启便携性警告,其他平台可能出现兼容性问题--enable=warning#开启警告消息--enable=performance#开启性能消息--enable=information#开启信息消息--enable=all#打开所有消息示例用法:#启用警告消息cppcheck--enable=warningfile.c#启用性能消息cppcheck--enable=performancefile.c#启用信息消息cppcheck--enable=informationfile.c#由于历史原因,--enable=style启用警告、性能、#可移植性和样式消息。#使用旧的xml格式时,这些都被报告为“样式”。cppcheck--enable=stylefile.c#启用警告和信息messagescppcheck--enable=warning,information文件。c#启用未使用的功能检查。这不是由--enable=style#启用的,因为它在librar上效果不佳ies.cppcheck--enable=unusedFunctionfile.c#启用所有消息cppcheck--enable=all设置输出格式:cppcheck--template=vspath(VisualStudio兼容模式)cppcheck--template=gccpath(Gcc兼容模式)cppcheck--template={"{file},{line},{severity},{id},{message}"}(自定义模式)使用代码示例intmain(){chara[10];[10]=0;return0;}检查结果如下:$cppcheckdemo1.cCheckingdemo1.c...[demo1.c:4]:(error)Array'a[10]'accessedatindex10,whichisoutofbounds.cppcheck还可以设置规则忽略一些目录或错误,根据配置文件检查功能参数,格式化输出等功能可以参考官方文档。邮箱:MingruiZhou@outlook.com
