现在的位置: 首页 > 综合 > 正文

VS2008配置PC Lint9 (静态代码检查工具PC-Lint)

2012年02月14日 ⁄ 综合 ⁄ 共 2330字 ⁄ 字号 评论关闭

Step0: 下载可到官方地址:http://www.gimpel.com/ 或者到CSDN下载PC Lint 9

Step1:下载完后点击PC-lint.9.0e\pclint9setup.exe进行安装,这里以安装到C:\lint介绍。

安装完成后勾选"I want to run the configuration program now".点击finish进入配置页面,

 

Step2:配置选项(对应于一个对话框)依次为:

1、C:\lint(这个是pc lint的安装目录),Create a new STD.LNT

2、Microsoft Visual C++ 2008 (co-msc90.lnt)

3、32-bit Flat Model(-ms, -si4, -sp4)

4、勾选常用的库 Active Template Library(ATL),Microsoft Foundation Class Library,Standard Template Library,Windows 32-bit

5、Scott Meyers(Effective C++ More Effective C++ and Effective C++ 3rd Edition),Dan Saks,MISRA 2004

6、Create -i options

7、这里将vc的包含目录加进去,我加的是以下两个(你也可以加入SDK,DDk的目录)

D:\Microsoft Visual Studio 8\VC\include

D:\Microsoft Visual Studio 8\VC\atlmfc\include

8、No (不要选择创建一个新的配置文件)

9、(env-vc9.lnt) Microsoft's Visual C++.NET 2008

10、Prepend my PC-lint directory to my PATH(create LSET.BAT)

完成

 

Step3:配置好pc lint之后,下面就将它集成到vs2008中

 Step3.1 :对单个文件分析的配置

打开vs2008--Tools--External Tools,点击Add按钮Title为pc_lint(这个可以任意命名),

Command为 C:\lint\lint-nt.exe(这个为lint-nt的绝对路径),

Arguments为-i"c:\lint" std.lnt env-vc9.lnt "$(ItemDir)$(ItemFileName)$(ItemExt)",

Initial directory为$(ItemDir),

勾选"Use Output windows",点击OK 

如果不想让pc-lint检查库文件,在options.lnt里面加-wlib(0)。

 Step3.2:对整个项目文件分析的配置

下面的步骤是在step2的基础上进行的。

(1)先到http://www.weihenstephan.de/~syring/win32/UnxUtils.zip下载UnxUtils.zip。需要利用unix中的find等命令来查找当前目录下的C和C++文件,然后再将它们送给lint程序处理。

(2)解压UnxUtils.zip到C盘,这样路径为c:/unix 

(3.1)在VS2008的菜单栏Tools下多了一个pclint_prj选项,打开一个VC项目后,就可以使用该选项对整个项目的所有指定C/C++文件进行静态代码分析了。

"Command"项填入: c:/unix/usr/local/wbin/find.exe
"Argument"项填入: $(FileDir) -name *.c -o -name *.cpp | c:/unix/usr/local/wbin/xargs c:/
int/lint-nt -i"c:/unix/usr/local" -u c:/lint/std.lnt c:/lint/env-vc9.lnt

然后在Use Output Window 打上勾即可。

(3.2) 如果3.1中的不能正常工作,可能原因是你的源文件(.cpp .h)的路径中含有空格导致,你也可以这样。

新建立一个bat文件,例如c:\unix\pc_lint_project.bat,内容为:

cd %1

C:\unix\usr\local\wbin\find -name *.c -o -name *.cpp -o -name *.h | C:\unix\usr\local\wbin\xargs c:\lint\lint-nt -i"c:\unix\usr\local" -i"c:\lint" -u c:\lint\std.lnt c:\lint\env-vc9.lnt

"Command"项填入:  c:\unix\pc_lint_project.bat 
"Argument"项填入: "$(ProjecrDir)"

然后在Use Output Window 打上勾即可。

全部配置结束,如有疑问,请留言。

补充:

       1)$(FileDir)
,
$(ProjecrDir) 是否加"",要看你的项目的路径中是否有空格,建议都加括号。
      2)find.exe 的命令行中如果想多分析一种类型的文件,需要加 -o -name *.文件后缀。例如-o -name *.cc  .
     3)xargs.exe的作用就是把find.exe的输出(N多单个文件)组合成一个参数 ,然后传递给后面的c:\lint\lint-nt.exe

参考:http://hi.baidu.com/bellgrade/blog/item/23929a8e054882f9f01f36e5.html

LCL_data 原创于CSDN blog(http://blog.csdn.net/lcl_data/article/details/7460032),转载请注明出处。

抱歉!评论已关闭.