前言
依赖工具:
1、cppcheck工具
2、vscode下安装C/C++ Advanced Lint扩展
3、python工具
一、 cppcheck下载安装
1、 下载cppcheck工具安装包:http://cppcheck.net/
2、双击安装包:
双击后软件自行安装在:C:\Program Files\Cppcheck
3、 添加cppcheck系统路径:
添加系统路径步骤
4、下载cppcheck源码:Github官网下载链接
5、将下载后的cppcheck源码中的“addons”文件夹拷贝到cppcheck工具安装目录C:\Program Files\Cppcheck下
二、 vscode下安装C/C++ Advanced Lint扩展
1、vscode软件下在扩展页面搜索C/C++ Advanced Lint后安装
2、 配置C/C++ Advanced Lint扩展
2.1、在vscode软件中点击设置按钮,选择“设置”选项
2.2、搜索“@ext:jbenden.c-cpp-flylint”然后“settings.json”中编辑
2.3、在settings.json中添加这几行配置关闭flexelint,lizard,flawfinder,clang这4行代码检查工具,也可以在页面上取消勾选这几个选项
"c-cpp-flylint.clang.enable": false,
"c-cpp-flylint.flexelint.enable": false,
"c-cpp-flylint.lizard.enable": false,
"c-cpp-flylint.flawfinder.enable": false,
保存之后,可以看到下方有cppcheck自己的一个校验了
2.4、添加MISRA-C规则的配置,将Cppcheck的addon配置成misra,然后保存
2.5、在C盘的根目录下面添加MISRA_C_2012.txt文件,这个文件就是misra 2012校验规则,该文件可以从网上下载
2.6、添加该文件后,如果想看到具体的misra报错提示,还需要创建一个misra.json文件,写入如下内容:
注:“args”参数中的文件路径就是2.5步骤中存放MISRA_C_2012.txt文件的c盘路径;
misra.json文件可以放在一个你喜欢的路径下边,但和MISRA_C_2012.txt文件一样,不要放在c: \Program Files\路径下,(尽量不要把开发用的软件装到Program Files路径下面,会有莫名其妙的问题),本次实验中把这两个文件都放在了c盘根目录下面:
2.7、这里因为做实验原因,创建了一个测试文件test.c
三、python安装
1、官网下载python:python官网
2、实验过程中选择的是3.8.5,最新版本应该也是可以的:
3、双击下载好的安装包:python-3.8.5-amd64.exe,勾选add添加python路径选项,然后点击“install now”
勾选上的话,就省去了添加环境变量的步骤
3、 win + R打开dos窗口或者在任务栏点击搜索小图标打开搜索“cmd”打开命令提示符
4、 输入“python”能看到版本,即说明安装成功
5、在dos窗口下输入存放代码文件的路径:
6、输入cppcheck --dump test.c:
可以看到cppchek检验到的代码错误
7、 输入如下命令:
python “c:\ProgramFiles\Cppcheck\addons\misra.py” --rule-texts=MISRA_C_2012.txt test.c.dump
注:双引号内容是执行检测的python脚本;–后边的是misra 2012规则
该规则在misra.py脚本中执行成功了文章来源:https://www.toymoban.com/news/detail-697235.html
8、 回到vscode下边,可以看到该测试文件下的语法错误,新建其他文件也是可以,且能看到具体的报错原因
注:如果对英文提示不熟悉,可以对照着MISRA_C_2012.txt文件中的每条规则查看一下,网上也有该规则的中文释义。文章来源地址https://www.toymoban.com/news/detail-697235.html
到了这里,关于基于misra-c-2012规则在vscode下集成cppcheck开源工具实现代码静态检查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!