Pclint的适配以及使用方法

Pclint的适配以及使用方法

一. 简介

  C/C++语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应也使得代码编写具有很大的随意性,另外C/C++编译器不进行强制类型检查,也不做任何边界检查,这就增加了代码中存在隐患的可能性。如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C/C++编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成。有很多C/C++静态代码检查工具,其中Logiscope RuleChecker和PC-Lint 是应用比较广泛的两个工具。

  更加详细的介绍,可以参加百度百科:PC-lint_百度百科 (baidu.com)

 二. Pclint在SourceInsight上的配置

  正常的公司内网中已经存在pclint的工程文件,若是在本地不存在pclint的工程文件,在网上下载即可。下载以及安装完成的pclint工程文件如下所示:

          其中最重要是的标记为黄色的三个文件:CONFIG.exe表示的是具体pclint安装时候的配置程序;PC-lint.pdf文档中记录了各种pclint的规则以及错误的类别,对于修改pclint缺陷是很重要的;lint-nt.exe是具体的需要执行的程序,会在使用的时候被调用。

       明确一个原理:在SourceInsight上集成pclint操作,实际就是通过SourceInsight调用cmd命令来执行pclint的可执行文件CONFIG.exe

       下面来看一下在SourceInsight上集成新的指令的步骤:

(1)      在SourceInsight下面点击Tools命令

       点击Custom Commands进行新指令的添加。

(2)      子菜单点击Add进行指令的添加

       点击Add按钮,可以添加新的指令。

(3)      添加什么样子的指令

   选择Add按钮后,可以添加需要的指令名字,这里定义的文件名字是pclint。主要需要勾选的位置如图中的显示。

  在“Run”的选项上,需要填写具体需要执行的指令。在“Dir”的选项上,填写需要的目录。

  这里针对自定义的“pclint”指令,填写的指令分别是:

Run:

D:\3_pclint\pclint\lint\lint-nt.exe –iD:\3_pclint\pclint\uefi_lnt –u D:\3_pclint\pclint\uefi_lnt\std.lnt env-si.lnt D:\3_pclint\pclint\uefi_lnt\std_proj.lnt

Dir:

D:\3_pclint\pclint\uefi_lnt

       这里需要解释一下各个参数的意义。参数“D:\3_pclint\pclint\lint\lint-nt.exe”表示的是可执行程序,带有目录的去执行,只有这样在cmd下面才能被找到; “-i”表示指定配置参数文件所在的目录,这个目录下面的文件就是我们上传到git上的所有文件,也就是目录“D:\3_pclint\pclint\uefi_lnt”;“-u”选项后面跟随的是pclint最基础的配置文件,也就是“D:\3_pclint\pclint\uefi_lnt\std.lnt”,文件“env-si.lnt”是pclint的环境配置相关的配置文件。由于前面的第一个配置文件已经指明了路径,后面的配置文件可以默认不带路径信息,当然带上路径信息也没有关系。

       “D:\3_pclint\pclint\uefi_lnt\std_proj.lnt”参数指定了需要进行pclint检测的所有文件。

配置文件文件“env-si.lnt”是否一定要跟上,答案是“是的”。在不指定这个配置文件的时候,运行出来的pclint也能正常检测,但是无法进行跳转,如下:

        正常的pclint检测结果,如下所示:

         进行单个文件检测的pclint配置:

Run:

  D:\3_pclint\pclint\lint\lint-nt.exe –iD:\3_pclint\pclint\uefi_lnt –u D:\3_pclint\pclint\uefi_lnt\std.lnt env-si.lnt %f

Dir:

  D:\3_pclint\pclint\uefi_lnt

       与进行整体检测唯一的不同就是将“D:\3_pclint\pclint\uefi_lnt\std_proj.lnt”换成“%f”

(4)      将指令放在指定的位置

  完成指令的编辑后,点击Menu按钮:

 

       在下拉菜单上选择需要将新的指令存放的位置:

 

       选择号菜单后,按下Insert按键,完成指令的放置

 

三. Pclint问题的排查

  对于Pclint文件,所有的配置文件,最基础的就是std.lnt这个文件。

 

       对于要整个工程文件中需要包含的其他配置文件,可以在这里直接被只用。需要用的头文件使用-i加上文件路径,需要屏蔽到的缺陷使用-e将错误号(具体可以在options.lnt文件中进行添加)。

       当检测到pclint问题,可以直接跳转到问题的位置,对于不知道的问题,直接查找PC-lint.pdf文档即可。

posted @ 2022-08-28 22:59  free-锻炼身体  阅读(1493)  评论(0编辑  收藏  举报