VS2008集成PC-lint

时间:2022-09-23 22:19:45

引言##

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&period;8&period;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. &lbrack;Android Memory&rsqb; 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. iOS---iOS9搜索功能

    前言 在iOS9之前我们只能使用Spotlight来搜索应用名称来打开指定App,而其他的内容都是提供给系统使用(信息,联系人,邮件等).在iOS9以后Apple允许开发者设置应用中任意内容可以被Sp ...

  2. &period;NET平台开源项目速览&lpar;4&rpar;&period;NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

  3. &lpar;转&rpar;投影矩阵的推导&lpar;Deriving Projection Matrices&rpar;

    转自:http://blog.csdn.net/gggg_ggg/article/details/45969499 本文乃<投影矩阵的推导>译文,原文地址为: http://www.cod ...

  4. PHP回调函数的几种用法

    PHP回调函数的实现方法 目录 前言      全局函数的回调      类静态函数的回调      对象的方法的回调      PHP事件模型(观察者模式)的实现思路    前言 最近在开发一个PH ...

  5. AIM Tech Round 3 &lpar;Div&period; 2&rpar; A

    Description Kolya is going to make fresh orange juice. He has n oranges of sizes a1, a2, ..., an. Ko ...

  6. POJ2225&plus;BFS

    简单的BFS   1a /* 从起点到终点 */ #include<stdio.h> #include<string.h> #include<stdlib.h> # ...

  7. tomcat可以访问到软链接设置

    tomcat/conf/context.xml设置<Context allowLinking="true"> 就可以啦.

  8. LINUX查看硬件配置命令

    LINUX查看硬件配置命令   系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...

  9. 第一篇Active Directory疑难解答概述&lpar;1&rpar;

    后期预告:从接下来我会给大家讲解,Active Directory 活动目录重要性,以及在日常管理运维中如和去排查问你题.俗话说,一个不健康的Active Directory环境是不健康的Exchan ...

  10. swift 实践- 13 -- UIStepper

    import UIKit class ViewController: UIViewController { var stepper: UIStepper! var label: UILabel! ov ...