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 打上勾即可。
全部配置结束,如有疑问,请留言。