PC-Lint偏重于代码的逻辑分析,它能够发现代码中潜在的错误,比如数组访问越界、内存泄漏、使用未初始化变量等。
1、 从http://download.csdn.net/detail/liuchang5/3005191 下载破解版PC-lint9.0;
2、 解压缩到D:\soft\PC-lint,生成一个PC-lint.9.0e文件夹;
3、 双击D:\soft\PC-lint\PC-lint.9.0e文件夹下的pclint9setup.exe文件,-->Start-->Next-->Next-->Next,选择安装目录D:\PClint -->Next-->Next-->Finish,安装完成;
4、 进行配置(接以上步骤):-->下一步-->下一步,选择Create a newSTD.LNT-->下一步,SelectYour Compiler:Microsoft Visual C++ 2008(co-msc90.lnt)-->下一步,选中32-bit FlatModel-->下一步,根据实际需要,选中ActiveTemplate Library(ATL)、 GTK Library、Microsoft Foundation Class Library、 Standard TemplateLibrary、Windows 32-bit-->下一步,选中ScottMeyers(Effective C++,3rd Ed:,Dan Saks, MISRa 2004-->下一步,选中Create -i optic-->下一步,点击Brose,C:\ProgramFiles (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\ProgramFiles (x86)\Microsoft Visual Studio 9.0\VC\include-->下一步-->确定-->否-->选中No,下一步-->选中env-ecl-console.lnt、 env-si.lnt、 env-vc9.lnt,下一步-->选中Copy LIN.BAT to oneof my PATH directories-->下一步,输入PC-lint安装目录D:\PClint-->下一步,确认,完成,至此,安装配置完成,就可以使用PC-lint了;
5、 PC-lint与VS2008集成:打开VS2008,Tools-->External Tools…-->Add-->Title:PC-lint,Command: D:\PClint\lint-nt.exe, Arguments: -i"d:\PClint"std.lnt env-vc9.lnt "$(ItemDir)$(ItemFileName)$(ItemExt)", Initialdirectory: $(ItemDir), 勾选Use Output windowàOK,PClint在VS2008里配置完毕。
测试代码:
// TestPClint.cpp :Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int iTemp;
cout<<iTemp<<endl;
return 0;
}
输出结果:
PC-lint for C/C++ (NT) Vers. 9.00a,Copyright Gimpel Software 1985-2008
--- Module: e:\test\TestPClint\TestPClint\TestPClint.cpp(C++)
cout<<iTemp<<endl;
e:\test\TestPClint\TestPClint\TestPClint.cpp(12):error 530: (Warning -- Symbol 'iTemp' (line 10) not initialized --- Eff. C++3rd Ed. item 4)
e:\test\TestPClint\TestPClint\TestPClint.cpp(10):error 830: (Info -- Location cited in prior message)
}
e:\test\TestPClint\TestPClint\TestPClint.cpp(15):error 953: (Note -- Variable 'iTemp' (line 10) could be declared as const ---Eff. C++ 3rd Ed. item 3)
e:\test\TestPClint\TestPClint\TestPClint.cpp(10):error 830: (Info -- Location cited in prior message)
--- Global Wrap-up
error 900: (Note -- Successful completion, 4messages produced)
参考文献:
1、 http://www.gimpel.com/html/index.htm
2、 http://download.csdn.net/detail/autoca/3321511
3、 http://blog.163.com/sam_chen_cn/blog/static/121643873201222323741115/
4、 http://baike.baidu.com/view/3249472.htm
5、 http://mzl626.blog.163.com/blog/static/47702702009103112912678/