引言##

C/C++语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应也使得代码编写具有很大的随意性,另外C/C++编译器不进行强制类型检查,也不做任何边界检查,这就增加了代码中存在隐患的可能性。如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C/C++编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成。有很多C/C++静态代码检查工具,其中Logiscope RuleChecker和PC-Lint 是应用比较广泛的两个工具。本文将介绍如何安装和配置PC-Lint代码检查工具以及将PC-Lint 与常见的代码编辑软件,如Visual C++,Source Insight集成的方法,同时还将简要介绍一些PC-Lint常用的代码检查选项。

版本安装##

1.下载安装包,使用pclint9setup.exe进行安装,假设安装目录为(c:\lint)

2.安装完毕以后,选择”I want to run the configuration program now”,点击finish进入配置向导设置界面。也可以不选择,然后在合适的时机自己手动设置。

3.启动设置向导以后,选择Create a new STD.LNT,在PC-lint安装目录下会创建std.lnt文件

4.选择编译器,我们这里选用的是2008,所以直接选择Microsoft Visual C++ 2008(co-msc90.lnt)

5.选择32-bit Fat Model(-ms, -si4, -sp4)

6.选择常用的库文件,如:Active Template Library(ATL), Microsoft Foundation Class Library(MFC), Standard Template Library(STL), Windows 32-bit, Window NT

7.选择Scott Meyers(Effective C++ More Effective C++ and Effective C++ 3rd Edtion), Dan Saks, MISRA 2004

8.选择Create –I options

9.在界面中添加VC的引用目录,按Ctrl+Enter回车换行

-i"D:\Microsoft Visual Studio 9.0\VC\include"

-i"D:\Microsoft Visual Studio 9.0\VC\atlmfc\include"

-i"C:\Program Files\Microsoft SDKs\Windows\v6.0A\include"

10.选择No

11.选择(env-vc9.lnt)Microsoft’s Visual C++ .Net 2008

12.选择Prepend my PC-lint directory to my PATH(create LSET.BAT)

13.安装完成

安装总结##

我在我的机器上,pclint安装在c:\lint,VS使用的是2008,安装的D盘,各位看官根据自己的安装环境进行选择性设置。

将PC-lint集成到VS2008中##

1.在VS2008的Tools->External Tools中选择”Add”

2.重复添加以下几点工具

Title:       PC-lint (Project Creation)
Command: c:\lint\lint-nt.exe
Arguments: -v -os("$(TargetName).lnt") "$(ProjectFileName)"
Init. Dir.: $(ProjectDir) Title: PC-lint (Project Check)
Command: c:\lint\lint-nt.exe
Arguments: -i"c:\lint" std.lnt env-vc9.lnt "$(TargetName).lnt"
Init. Dir.: $(ProjectDir) Title: PC-lint (Unit Check)
Command: c:\lint\lint-nt.exe
Arguments: -i"c:\lint" std.lnt env-vc9.lnt --u "$(TargetName).lnt" "$(ItemPath)"
Init. Dir.: $(ProjectDir) Title: PC-lint (Simple Check)
Command: c:\lint\lint-nt.exe
Arguments: -i"c:\lint" std.lnt env-vc9.lnt "$(ItemFileName)$(ItemExt)"
Init. Dir.: $(ItemDir)

3.每次添加完毕以后,勾选”Use Output Window”,点击OK保存

IDE中使用说明##

文件检测

先打开需要分析的文件,然后选择菜单VS->Tools->PC-lint(Simple Check),即可执行文件分析。注意:如果分析的目标文件存在引用关系,则会影响分析结果。

项目程序检测

首先在VS的Solution Explorer中选择需要进行分析的项目,然后选择VS->Tools-> PC-lint (Project Creation)菜单创建分析项目的配置文件,创建成功以后,选择VS->Tools-> PC-lint (Project Check)执行项目检测。稍等片刻即可在IDE的Output中看到检测结果。双击检测的行即可跳转到问题目标数据行上。

VS2008集成PC-lint的更多相关文章

  1. VS2008 Pocket PC 2003 SE仿真程序上网设置

    设置大体分为3个步骤:Microsoft ActiveSync安装配置.Pocket PC 2003 SE仿真程序配置.Pocket PC 2003连接到Microsoft ActiveSync. 1 ...

  2. VS2008 Pocket PC 2003 SE VGA仿真程序网络设置

    最近对这个问题摸索的很久,都没有解决,今天终于搞定,现将大体设置步骤记录下来,以备回顾和方便别人查看,步骤如下: 1.打开VS2008,打开Windows Mobile设备中心(网上有下载). 2.连 ...

  3. VS2008 集成Lua解释器

    1. 登陆官网下载源代码 -> www.lua.org -> get started ->  installing  选择系统类型(这里是Windows的,所下面载 luaDist) ...

  4. PC lint -sem 用法示例

    -sem(std::auto_ptr::auto_ptr,custodial(1)) // the auto_ptr class type // handles custody automagical ...

  5. VS2008集成QT的OpenGL开发(实现二维图形的旋转)

    主要是利用Qt中的定时器实现了二维图形的旋转功能: #ifndef QGLTEST_H #define QGLTEST_H #include <QGLWidget> #include &l ...

  6. Qt4.8.6与VS2008的集成开发环境的安装配置

    一.安装编译Qt 1. 在Windows下用Qt做开发,编译器可以用mingw的gcc/g++,也可以用VS. 2. 安装VS2008集成开发环境(完全安装).  3. 安装qt4.8.6(qt-op ...

  7. debug makefile 及 lint 软件质量软件

    make -d should give you more than enough information to debug your makefile. Be warned: it will take ...

  8. [Android Memory] Android Lint简介(转载)

    英文原文:http://tools.android.com/tips/lint  参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载 ...

  9. Android Lint简介(转)

    转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips ...

随机推荐

  1. Genymotion的安装与使用(附百度云盘下载地址,全套都有,无需注册Genymotion即可使用)

    http://blog.csdn.net/scythe666/article/details/70216144 附百度云盘下载地址 :http://pan.baidu.com/s/1jHPG7h8 1 ...

  2. 关于数据库timestamp类型问题

    数据库使用timestamp类型字段,默人时间为0000-00-00 00:00:00 于是后台会报java.sql.SQLException: Value '0000-00-00 00:00:00' ...

  3. IDEA的破解安装以及汉化

    IDEA是一款比eclipse用起来更好用的一款代码编辑器,本人之前也是一直在用eclipse来写代码,后来发现了IDEA用起来会更顺手,所以又转用IDEA了,今天给大家分享一下IDEA的下载安装破解 ...

  4. Eclipse安装JD-Eclipse反编译插件成功看源码

    Eclipse安装JD-Eclipse反编译插件 转载 2017年12月24日 15:19:27   http://heavengate.blog.163.com/blog/static/202381 ...

  5. [数据预处理]-中心化 缩放 KNN(一)

    据预处理是总称,涵盖了数据分析师使用它将数据转处理成想要的数据的一系列操作.例如,对某个网站进行分析的时候,可能会去掉 html 标签,空格,缩进以及提取相关关键字.分析空间数据的时候,一般会把带单位 ...

  6. 关于将dede织梦data目录迁移出web目录

    关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题.比如验证码问题,图片显示问题等等一大堆.织梦官方这种是很不负责任的,因为那个教 ...

  7. Android调试错误-No resource identifier found for attribute 'showAsAction'

    转载自:http://www.bubuko.com/infodetail-498830.html 1.问题描述: 24\YoumiAndroidSdk\demo\offers\res\menu\mai ...

  8. 解决eclipse出现This Android SDK requires Andro...date ADT to the latest version.问题

    更新完android SDK之后,eclipse出现了“This Android SDK requires Andro...date ADT to the latest version.”问题,这是因 ...

  9. C# 处理Word自动生成报告 三、设计模板

    C# 处理Word自动生成报告 一.概述 C# 处理Word自动生成报告 二.数据源例子 C# 处理Word自动生成报告 三.设计模板 C# 处理Word自动生成报告 四.程序处理 既然是模板就少不了 ...

  10. JavaScript中事件绑定的三种方式

    JavaScript使得网页与用户友好交互,在使用 js 进行时间绑定的时候有三种绑定方式. 第一种:初学者以及普通写法 <div id="dom0"> <inp ...