嵌入式软件开发杂谈(7):静态分析工具Pclint与source insight的整合

1 安装

1.1 安装

点击安装包中的pclint9setup.exe后, 直接进行安装
注意:安装路径不要有中文和空格

1.2 配置

点击安装路径中的CONFIG.exe,

选择如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 集成到SI中

a)打开Source Insight软件 。
b)从Tools菜单中选择“Custom Commands”命令项。点击Add…。
c)在Name栏中输入“Pc_Lint”这个名字可以随便起。
在Run栏中输入“C:\lint\lint-nt.exe C:\lint\dv.lnt %f”其中C:\Lint是你PC-LINT的安装目录。 或者输入以下指令
C:\lint\lint-nt -u -iC:\lint std env-si %f

d)在Output栏中选择“Iconic Window”、“Capture Output”。
e)在Control栏中选择“Save Files First”、“Wait Until Done”。
f)在Source Links in Output栏中选择“Parse Links in Output”、“File,then Line”。
g)在Pattern栏中输入“([ ]*) ([0-9]+)”。
h)点Close键加入该命令。如下图:
在这里插入图片描述

i)点击Option—>Menu…键,选择“Custom Cmd: PC-LINT”,选择位置后点Insert键。
在这里插入图片描述

j)点击Keys…键,选择“Custom Cmd: PC-LINT”,点击Assign New Key…键,在弹出界面按F11键。
在这里插入图片描述

k)完成后点OK键,在Option菜单下出现“PC-LINT F11”菜单,点击执行。

3 生成头文件

touch empty.c
gcc -E -dM empty.c >lint_cmac.h
g++ -E -dM empty.c >lint_cppmac.h
将上述头文件拷贝到安装目录

4 修改配置

在si上运行之后,会提示没有找到对应的头文件之类,则需要将头文件路径写到std.lnt文件中
下面的全部标准头文件是从虚拟机中直接拷贝到PCLINT安装目录中。

-iD:\lint\include
-iD:\lint\include\x86_64-linux-gnu
-iD:\lint\include\linux
-iD:\lint\include\c++
-iD:\lint\include\c++\5
-iD:\lint\include\c++\5\tr1
-iD:\lint\include\x86_64-linux-gnu\c++\5

另外,在编译过程中可能会提示找不到头文件,就需要我们将头文件路径定义达到std.int文件中

5 告警级别

在这里插入图片描述
在这里插入图片描述

6 常见错误消除

6.1 告警号40

D:\lint\include\c++\5\cstdarg 54 Error 40: Undeclared identifier 'va_list'
         _
  size_t __pad5;

这个问题是标准头文件中的,因此不需要关注,将下面参数写到options.int中

-esym(40, va_list)

D:\lint\include\libio.h 333 Error 40: Undeclared identifier 'size_t'
                                        _
-esym(40, size_t)

			 _IO_va_list);
D:\lint\include\libio.h 462 Error 40: Undeclared identifier '__gnuc_va_list'
-esym(40, __gnuc_va_list)

6.2 告警号 1057

D:\lint\include\libio.h 305 Error 1057: Member '_IO_FILE::size_t' cannot be
used without an object
-esym(1057, _IO_FILE::size_t)

猜你喜欢

转载自blog.csdn.net/u011003120/article/details/122171691