如何在Source Insight中配置Pc Lint

如何在Source Insight中配置Pc Lint,第1张

1. options->custom commands

a) 添加一个新的命令名,例如:Pc Lint

b) 在run 中填入:

d:/pclint8/lint -u -ic:/lint std env-si %f

d:/pclint8 是备乱你的Pclint所在的目录.

c) 在path中填入:

d:/PCLint8/lnt(就是你所有*.lnt文件所在的目录橡铅)

d) 勾选下仿如档面的选项:

Iconic Window

Capture Output

Save Files First

Parse Links in Output

File, then Line

e) 在Pattern 框中填入:

^/([^ ]*/) /([0-9]+/)

2.把这个命令加入到菜单中即可.

转载,仅供参考。

介绍:对于多个源程序文件且多个头文件目录的项目进行PCLint语法检查。

1.安装

我使用的是PC.Lint.v8.00e,是不用安装的版本。

解开到E:\PC.Lint.v8.00e目录,可戚好执行文件为Lint.exe(lint-nt.exe与其相同,可能为NT平台用的,在Win2000下都可运行)。

子目录lnt内是检查的规则及选项文件,这两种文件扩展名全为.lnt。

2.准备自己工程的选项文件

在E:\PC.Lint.v8.00e\lnt下新建MyProj.lnt文本文件,我们将自己工程的很多头文件目录,在其中一一列出来,内容如下:

std.lnt/*注释:包含的规则和/或选项文件*/

env-vc6.lnt

/*下面为各头文件目录,可以在字串中不要双引号,可以有多行*/

-i"C:\MyProj\IncludeA"

-i"C:\MyProj\IncludeB"

-iC:\MyProj\IncludeC

-iC:\MyProj\IncludeD

-e641//另一种注释//这是省略#641错误

【注意】指明各头文件目录很重要。头文件各目录的名称可能在VC的Project\Project

Settings\Project Options栏中:

/I "../Include/PS",可供借鉴(相对路径暂未测试)。

当后面运行Lint时出现无法打开某个头文件时,需要不断添加头文件所在目录的名称到本选项文件中。

3.在VC中运行PCLint(针对单个文件但需包含多个头文件目录):

A

点击Tools/Customize/Tools出现定制窗口

B 在Menu

contents中双击下面的空白拦,输入拟新增的Tool名称:PCLint

C

双击PClint项,在Command中填入要调用的.exe文件名:lint

Arguments:中填入:-i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt $(FilePath)

【注意】$(FilePath)这个字串是个宏名,也可以通过点击右边的三角箭头选择可能为要检查的本文件的路径加文件名,而

不能是$(FileName)!!!因为它可能只是文件名而不带路径,将导致使用时说无法发现!

另外,MyProj.lnt这个选项文件必须在$(FilePath)之前。

Initial

Directory项:在Arguments项中若缺少-i"E:\PC.Lint.v8.00e\lnt"时将报无法找到各个.lnt文件,可在此

栏填E:\PC.Lint.v8.00e\lnt来指定。

选中"Use Output Window"

(这将使PCLint运行的结果在VC下方Output窗口中,双击行号还可以跳到指定行)

D

打开一个项目,让焦点位于某个源程序袜旅编辑窗口,点击Tools/pclint菜单即可

【注意】直到VC Output窗口中出现Tool returned code: ,才算Tool运行完,若未运行完,可能在再点击PCLint时报错。

4.网上搜到的VC环境多个文件同时Lint的方法,大致为找到各个.c文件,将各文件名经xargs传给lint来实现。但需要find,xargs等

命令,告仔凳似乎需要模拟unix环境的软件支持中才有,我装的Cygwin的环境中对find命令后的格式有问题,无法支持unix中的

find

. -name *.c,故无法由此找到各个.c文件名。但可以用Cygwin的ls命令来代替find。

【原方法如下:】

A

点击Tools/Customize/Tools出现定制窗口

B 在Menu contents中双击空白拦,输入:PCLint-project

C 双击PCLint-project项,在Command:中填入:find

Arguments:中填入:$(FileDir) -name

*.c | xargs pclint -i"c:\unix\usr" -u std.lnt env-vc6.lnt

选中"Use Output

Window"

D 打开一个项目,让焦点位于最项层目前的一个Source Window中,点击Tools/PCLint-project菜单即可

【方法1如下:】

A 点击Tools/Customize/Tools出现定制窗口

B 在Menu

contents中双击空白拦,输入:PCLint-Proj

C 双击PCLint-Proj项,在Command:中填入:ls

Arguments:中填入:*.c |xargs lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt

Initial

Directory项:本栏填写工程的一个源文件子目录(保证在Arguments项中有-i"E:\PC.Lint.v8.00e\lnt")

选中"Use Output Window"

D 打开一个项目,让焦点位于最顶层目前的一个Source

Window中,点击Tools/PCLint-Proj菜单即可

【最简单的方法如下:】

A 在MyProj.lnt末尾添加一行 *.c (即目标为本目录下所有.c文件)

B

点击Tools/Customize/Tools出现定制窗口

C 在Menu contents中双击空白拦,输入:PCLint-Proj

D

双击PCLint-Proj项,在Command:中填入:lint

Arguments:中填入:-i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt

Initial

Directory项:本栏填写工程的一个源文件子目录(保证在Arguments项中有-i"E:\PC.Lint.v8.00e\lnt")

选中"Use Output Window"

E 打开一个项目,让焦点位于最项层目前的一个Source

Window中,点击Tools/PCLint-Proj菜单即可

【注意】上述方法中的ls,xargs等命令位于Cygwin的目录中,需要将路径添加到系统的PATH中:

"我的电脑"(右击鼠标)->"属性"->"高级"->"环境变量"->"系统变量"->"Path"

加入"C:\cygwin\bin"重启生效。

ls

*.c将同时找到.c文件和.cpp文件,但是也会将非工程所需的.c文件编译进来,需要手工把文件转走。

另外,这种方法一次只能Lint一个目录,每完成一个目录就要重新设置Initial

Directory项为新的要检查的目录。

5.在DOS窗口中对一个目录多个文件进行Lint

1)基于Cygwin

cd C:\MyProj\SrcA\

ls *.c |

xargs lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt >>

LintOutput.txt

【注意】ls *.c 也可以用DOS命令dir

*.c/B来替换,/B的意思是仅列出各文件名。>>LintOutput.txt的意思是将Lint结果输出到

LintOutput.txt文件中。

2)无Cygwin支持

cd

C:\MyProj\SrcA\

dir *.c

/B

将所有列出的.c文件名称复制到E:\PC.Lint.v8.00e\lnt\MyProj.lnt中,内容如下:

std.lnt/*注释:包含的规则和/或选项文件*/

env-vc6.lnt

/*下面为各头文件目录,可以在字串中不要双引号,可以有多行*/

-i"C:\MyProj\IncludeA"

-i"C:\MyProj\IncludeB"

-iC:\MyProj\IncludeC

-iC:\MyProj\IncludeD

-e641//另一种注释//这是省略#641错误

a.c

//指定要Lint的文件

b.c

c.c

最后几行指定的要Lint之文件也可以用通配符,如:

*.c

然后直接运行

lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt >>LintOutput.txt

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12214104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存