安装PC-LINT的方法

安装PC-LINT

 

        PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。

 

        C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。

 

         使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。

 

        具体下载地址大家可以去网上搜索一下,很多的

 

        下面是PC-LINT集成到VC++ 6.0和SourceInSight中的方法:

 

 

 

一. PC-LINT集成到VC++6.0

 

 

 

1、下载PCLint

 

2、解压到某一位置,如C:/。注意路径中最好不要有空格,若有空格,以后的配置时,需对路径名加双引号。

 

3、假设第二步设定的目录为C:/pclint。拷贝三个文件从C:/pclint/lnt内,lib-w32.lnt,env-vc6.lnt,co-msc60.lnt到C:/pclint目录。

 

4、新建两个文件,std.lnt, options.lnt(空文件)。std.lnt文件内容如下:

// contents of std.lnt

c:/pclint/co-msc60.lnt

c:/pclint/lib-w32.lnt

c:/pclint/options.lnt -si4 -sp4

-i"c:/Program Files;c:/Program Files/Microsoft Visual Studio/VC98/Include"

//VC的安装目录,以及VC头文件的路径

//end

 

5、配置VC的IDE。

选择tools -- customize -- tools 新建一个工具,命名可以为PCLint

command: C:/pclint/Lint.exe

Arguments: -u c:/pclint/std.lnt c:/pclint/env-vc6.lnt "$(FilePath)"

Use Output Window项打勾。

 

6、打开一个文件,如test.cpp。选择tools下的PCLint菜单对test.cpp进行检查。

如果出现c:/pclint/co-msc60.lnt(214) : Error 307: Can't open indirect file 'lib-ole.lnt' 错误,则可以通过修改co-msc60.lnt中的第214行(倒数第一行),可以将其注释或改成 C:/pclint/lnt/lib-ole.lnt

 

7.通常一个VC项目中包含多个C或C++文件,有时需要同时对这一系列的文件进行lint检查,我们可以通过配置一个pclint_project来达到目的。

 

和前面第一步中的方法基本一样,不过这里我们需要用到unix中的find等命令来查找当前目录下的C和C++文件,然后再将它们送给lint程序处理,所以得先从http://www.weihenstephan.de/~syring/win32/UnxUtils.zip下载UnxUtils.zip.

 

接着按下列步骤进行:

 

(i)解压UnxUtils.zip至c:/unix下, 可以看到C:/unix/usr/local/wbin有很多unix下的命令,等下会用到

 

(ii)打开VC6,tools--->customize-->tools 新建一个名为pclint_project的项,只不过下面的commands和arguments内容不同。

 

commands: C:/unix/usr/local/wbin/find.exe

 

arguments: $(FileDir) -name *.c  -o -name *.cpp | C:/unix/usr/local/wbin/xargs lint-nt            -i"c:/unix/usr/local"  -u c:/pclint/std.lnt  c:/pclint/env-vc6.lnt

 

(iii)Use Output Window打上勾,close退出。好了,这时VC tools菜单下应该又多了一个pclint_project项了,你以后可以用它来对一个VC项目运行lint检查程序了./

 

二.SourceInsight中集成pclint程序的方法.

 

Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,如果将pclint集成到SourceInsight中,那就相当于给SourceInsight增加了一个C/C++编译器,而且它的检查更严格,能发现一些编译器发现不了的问题,可以大大减少程序中潜伏的BUG。这样的话,相信更多人会喜欢SourceInsight这个工具了。

 

下面简要地介绍下pclint集成到SourceInsight中的方法

 

有了上面VC中集成pclint的经验, 下面的事情就应该比较轻松了,

 

(a)打开你的SourceInsight, 选择Options-->Custom Commands-->Add, 输入pclint(当然名字可以随便).

 

(b) Run中输入: c:/pclint/lint-nt  -u  c:/pclint/std.lnt  c:/pclint/env-vc6.lnt %f

 

(c)Dir留空,将Iconic Window, Capture Output, Parse Links in OutPut, File,then Line 四项前打上勾。

 

(d)然后点右侧 Menu--->Menu-->View--><end of menu>, 右侧Insert, OK.

 

(e)此时在SourceInsight中的View菜单下多了个pclint选项,可以用它来对单个C/C++文件进行静态检查。

 

用类似的方法可以配置对一个SourceInsight工程文件的lint检查。

 

(a)打开你的SourceInsight, 选择Options-->Custom Commands-->Add, 输入pclint_project(当然名字可以随便).

 

(b) Run中输入: C:/unix/usr/local/wbin/find.exe %d -name *.c  -o -name *.cpp  | C:/unix/usr/local/wbin/xargs lint-nt

 

-i"C:/unix/usr/local" -u c:/pclint/std.lnt  c:/pclint/env-vc6.lnt

 

(c)Dir留空,将Iconic Window, Capture Output, Parse Links in OutPut, File,then Line 四项前打上勾。

 

(d)然后点右侧 Menu--->Menu-->View--><end of menu>, 右侧Insert, OK.

 

(e)此时在SourceInsight中的View菜单下多了个pclint_project选项,可以用它来一个工程中的C/C++文件进行静态检查。

 

你可能感兴趣的:(安装PC-LINT的方法)