PC-lint静态检测工具集成到SourceInsight配置步骤

(一)、安装的话从网上找一下安装包,例如PC-lint9之类的版本。。。
安装解压后按照步骤一步一步配置就行,具体选什么编译器,生成什么文件这个不是重点;
(二)、安装好后的配置步骤
一、其实主要用到的是config和Gimpel_PC_Lint_9两个文件夹(不需要点击Gimpel_PC_Lint_9文件夹内pclint9setup.exe进行安装,这里不要参照网上,易误导);
将PCLint压缩包解压缩后放在“D:\”,路径如下:
D:\PCLint\config
D:\PCLint\Gimpel_PC_Lint_9
建议不要更改存放目录,否则与Source Insight集成时,需要修改以下3处配置(如果没存放到D盘,那么你存放到那个盘,下面几个配置文件要修改为相应的绝对路径)
如果PCLint文件解压到其他路径,需要对应修改config文件夹中Lin_si_unit.bat、Lin_si_pjt.bat、StartPlugin.bat批处理文件,修改下面红色粗体部分:
例如:Lin_si_unit.bat
“d:\PCLint\Gimpel_PC_Lint_9\DOS-ins\lint-nt.exe” -u +v -i"d:\PCLint\config" std_si_unit.lnt %1 %2 %3 %4 %5 %6 %7 %8 %9
@echo off
echo
二、规则文件介绍
std_si_unit.lnt和std_si_prj.lnt文件嵌套所需的所有lnt文件,用于静态编译一个C文件。内容如下请检查设置是否正确:
env-si.lnt // source insight 环境文件
options_A.lnt //检测规则文件
include.lnt //sourceinsight工程中涉及的所有头文件的所在路径(后续跑PC-lint的时候报错找不到相应头文件,需要添加路径到该文件)
AllSource.lnt //sourceinsight工程中涉及的所有c文件的所在路径(工程涉及到是所有.c源文件可能有几十个)
下面两个文件需要手动修改,添加keil或者ccs编译器的头文件路径:
std_si_unit.lnt //
std_si_prj.lnt //
例如,默认已经添加如下,路径不正确请自行修改:
-i"C:\Keil\ARM\RV31\INC" // Keil编译器头文件
-i"C:\Keil\ARM\CMSIS\Include" // Keil编译器头文件
(这块不是很清楚目的,是要调用Keil的编译器???我这边安装有keil4和keil5所以任选其一的编译器吧,主要是看keil的路径和上面一致否)

三、与Source Insight环境集成
在Source Insight 中的设置方法:
1、StartPlugin插件集成(这个可以上网自己找找,具体作用如下)
StartPlugin用途:自动提取Source Insight当前工程目录下的所有c文件和h文件的存储路径,默认存储在如下位置:
D:\PCLint\config\ include.lnt
D:\PCLint\config\ AllSource.lnt
1)选择菜单Options –> Custom Commands…
2)点击“Add…”
3)在编辑框中任意输入一个命令名称,例如“StartPlugin”,点击“OK”
4)在Run 右边的编辑框中输入:D:\PCLint\config\StartPlugin.bat %f 如下图所示:

(成功后这里会有个图标)也可以自己手动加相应的头文件和源文件到include.lnt和AllSource.lnt;所以这个插件安装成功与否不影响PC-lint正常功能使用;
2、对于单个文件检查设置
1)选择菜单Options –> Custom Commands…
2)点击“Add…”
3)在编辑框中任意输入一个命令名称,例如“PC-lint unit check”,点击“OK”
4)在Run 右边的编辑框中输入:d:\PCLint\config\Lin_si_unit.bat %f(注意%f前有空格)
5)在Pattern右边的编辑框中输入:([ ]*) ([0-9]+)
6)勾选下面的选项 Output\Control\Source Links in Output,如图所示:

3、对整个工程检查设置
1)选择菜单Options ->Custom Commands…Add“PC-lint project check”命令。
2)在Run 右边的编辑框中输入:d:\PCLint\config\Lin_si_pjt.bat %f(注意%f前有空格)
3)在Pattern右边的编辑框中输入:([ ]*) ([0-9]+)
4)勾选下面的选项 Output\Control\Source Links in Output,如图所示:

4、将上述命令添加到快捷菜单
1)选择菜单Options ->Custom Commands,点击“Menu…”
2)在Command 中选择你要添加的命令:如“PC-lint unit check”,Menu选择Work。
3)在Menu Contents 下选择,点击“Insert”。如下所示:

4)重复第2)步,依次将“StartPlugin”和“PC-lint project check”命令添加都Work菜单。全部完成后,点击“OK”退出。
例如我insert到help工具栏中

四、在Source Insight 中运行PClint
1、对于单个文件的检视
1)Source Insight中打开需要检视的*.C文件(点击开你要PC-lint的文件)
2)选择菜单 Work-> PC-lint unit check后,PC-Lint开始执行静态编译。
3)在弹出PC-lint unit check 窗口,可以看到分为三个等级的静态编译结果(Error\Warning\Info)
需要修改错误或警告时,支持直接跳转到告警代码行。

2、对整个工程的检视
1) 首次打开Source Insight工程时,需要启动StartPlugin插件,按如下操作:

不用理会下面弹出窗口,直接点击Cancel:

Source Insight中间左侧菜单栏将多出一个图标,说明插件运行成功,如下所示:

2)插件使用方法:
(1)首先请确认 PCLint工具存储位置,如默认存放在“D:\”,则直接进入下一步。否则,按如下操作:点击下方标签栏左侧的下拉按钮选择“更改存储位置”,找到PCLint目录的config文件夹下,如“d:\PCLint\config\”。

(2)右击右侧工程列表,在弹出菜单上选择“Copy List”。【必须先执行这一步后,才能进入下一步操作】

(3)最后点击下方标签栏左侧的“导出文件”按钮:如果Source Insight 工程的文件为绝对路径,则会直接提示“提取成功”,点击“确定”后退出。

如果Source Insight的工程右侧工程列表显示为相对路径,则会提示“浏览文件夹”,需要手动选择实际工程文件夹的存储位置。选择后将直接提示“提取成功”,点击“确定”后退出。提取的source insight工程.h和.c路径信息默认覆盖保存在下面两个文件中:
D:\PCLint\config\ include.lnt
D:\PCLint\config\ AllSource.lnt
相对路径应用举例:Source Insight的工程文件路径为:” D:\test”,该工程中的所有文件实际位置在“D:\123 \AA”下面。AA为实际工程文件夹,用户选择时必须选择到AA文件夹。如下图:

4)选择PC-lint project check命令,执行整个工程检视。
五、注意事项:
1、 建议将PCLint工具文件放在“D:\”根目录,避免多处需要重新配置。
2、 正确的路径设置,是PCLINT正常运行的前提。
3、 遇到PCLINT窗口不弹出时,可以close整个工程,然后重新载入工程。
4、 首次打开Source Insight工程后,需要启动运行StartPlugin插件。
5、 关闭StartPlugin插件后,若需重新运行插件,需要重启Source Insight工程。
6、 新打开一个Source Insight工程后,需要先执行“CopyList”,再执行“导出文件”操作后,最后执行运行pclint检查命令。
7、 注意PCLINT窗口已经打开,但可能淹没在多个窗口中。
8、 一些涉及头文件的Error没有消除之前,不会继续检查新的问题,也无法一次生成完整的问题报告,需要重复执行PC-lint几次,确保所有问题都被清除(单个文件的PC-lint一定要把Error给消除掉,整个工程的PC-lint有些头文件确实没用到的可在int文件路径内适当屏蔽掉)。
9、 原始工程的目录文件夹名中不能出现空格。
10、检查前,务必查看std_si_prj.lnt或者std_si_unit.lnt文件,确认编译器文件和库函数文件路径,按本地实际设置。
11、重复故障较多时,确认是否有问题,若确认不影响逻辑功能,则可在文件options_prj.lnt文档中添加-e#故障,不检测此故障,并做说明。

整体感觉
尽量还是依赖编码过程中的其他编译环境检验语法执行结果(例如keil,VC++,VS等),使用PC-lint只是最后辅助精炼一下,不能为主;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUR0608

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值