赞
踩
Cppcheck是一个用于C/C++代码的静态分析工具,它可以帮助开发者检测代码中的错误。Cppcheck可以检测出许多类型的错误,包括语法错误、未使用的函数、内存泄漏、未初始化的变量等。此外,Cppcheck还支持用户自定义规则,这使得开发者可以根据自己的需求定制Cppcheck的行为。
这些选项可以通过命令行参数进行启用或禁用,以定制Cppcheck的行为。例如,如果你只关心错误和警告,你可以使用--enable=warning,error
参数来运行Cppcheck。
以下是 Cppcheck 的主要检查范围:
2.1 从Cppcheck的GitHub页面下载最新版本源码,链接:https://github.com/danmar/cppcheck
2.2 可以点击“Releases”选项,然后下载最新版本的Cppcheck的Windows安装程序。双击下载的安装程序文件,然后按照提示进行安装。安装完成后,你可以在开始菜单中找到Cppcheck,或者在命令行中输入cppcheck
来运行它。
2.3也可以下载源码根据Readme中的提示,自行编译。
如图:
下载好之后按ctrl+shift+p打开用户设置(user setting),在设置中追加加入以下代码:
- /* cppcheck配置 */
- "cpp-check-lint.--enable": true, //启用插件
- "cpp-check-lint.cppcheck.--executable": "C:\\Program Files\\Cppcheck\\cppcheck.exe", //cppcheck路径
- "cpp-check-lint.cppcheck.--inline-suppr": false, //取消内联
- "cpp-check-lint.cppcheck.--language=": "c", //使用c语言进行检查
- "cpp-check-lint.cppcheck.--onsave": false, //在文件保存时立刻检查该文件
- "cpp-check-lint.cppcheck.--quick_fix": false,
- "cpp-check-lint.cpplint.--enable": false, //关闭无用的cpplint
- // "cpp-check-lint.cppcheck.--addon=": [ //暂时不开启插件
- // "misra.py"
- // ],
使用很简单,直接在文件上右键即可,如下图:
我在程序中故意写了个除0的错误,检查结果会报错。
生成dump文件
cppcheck.exe --template={file}:{line}:{column}: {severity}: CWE-{cwe} {message}:[{id}] --enable=style -j4 --max-ctu-depth=2 --platform=native --std=c89 --std=c++03 --report-progress --suppress=unmatchedSuppression --suppress=missingIncludeSystem --dump ./src/thread_rs485_readmeter_entry.c
使用misra 2012进行检查
python3 /mnt/c/Program\ Files/Cppcheck/addons/misra.py --rule-texts=/mnt/f/OneDrive/Tools/cppcheck/misra_rules_dummy.txt ./src/thread_rs485_readmeter_entry.c.dump
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。