现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

C/C++代码静态检查工具PC-lint在VS2008中的安装配置和使用

2013-08-09 23:06 工业·编程 ⁄ 共 2406字 ⁄ 字号 暂无评论

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 CompilerMicrosoft Visual C++ 2008(co-msc90.lnt)-->下一步,选中32-bit FlatModel-->下一步,根据实际需要,选中ActiveTemplate Library(ATL) GTK LibraryMicrosoft Foundation Class Library Standard TemplateLibraryWindows 32-bit-->下一步,选中ScottMeyers(Effective C++,3rd Ed:,Dan Saks, MISRa 2004-->下一步,选中Create  -i optic-->下一步,点击BroseC:\ProgramFiles (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\includeC:\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-lintVS2008集成:打开VS2008Tools-->External Tools…-->Add-->TitlePC-lintCommand: 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/

6、  http://blog.chinaunix.net/uid-20361370-id-1962805.html

给我留言

留言无头像?