VS2008集成PC-lint
引言##
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的更多相关文章
- VS2008 Pocket PC 2003 SE仿真程序上网设置
设置大体分为3个步骤:Microsoft ActiveSync安装配置.Pocket PC 2003 SE仿真程序配置.Pocket PC 2003连接到Microsoft ActiveSync. 1 ...
- VS2008 Pocket PC 2003 SE VGA仿真程序网络设置
最近对这个问题摸索的很久,都没有解决,今天终于搞定,现将大体设置步骤记录下来,以备回顾和方便别人查看,步骤如下: 1.打开VS2008,打开Windows Mobile设备中心(网上有下载). 2.连 ...
- VS2008 集成Lua解释器
1. 登陆官网下载源代码 -> www.lua.org -> get started -> installing 选择系统类型(这里是Windows的,所下面载 luaDist) ...
- PC lint -sem 用法示例
-sem(std::auto_ptr::auto_ptr,custodial(1)) // the auto_ptr class type // handles custody automagical ...
- VS2008集成QT的OpenGL开发(实现二维图形的旋转)
主要是利用Qt中的定时器实现了二维图形的旋转功能: #ifndef QGLTEST_H #define QGLTEST_H #include <QGLWidget> #include &l ...
- Qt4.8.6与VS2008的集成开发环境的安装配置
一.安装编译Qt 1. 在Windows下用Qt做开发,编译器可以用mingw的gcc/g++,也可以用VS. 2. 安装VS2008集成开发环境(完全安装). 3. 安装qt4.8.6(qt-op ...
- debug makefile 及 lint 软件质量软件
make -d should give you more than enough information to debug your makefile. Be warned: it will take ...
- [Android Memory] Android Lint简介(转载)
英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载 ...
- Android Lint简介(转)
转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips ...
随机推荐
- POJ 1426 Find The Multiple(数论——中国同余定理)
题目链接: http://poj.org/problem?id=1426 Description Given a positive integer n, write a program to find ...
- vuex的使用
vue现在越来越火,不单单可以写简单的小项目,也可以写大中型的项目.但是项目大了,项目之间的数据传递就会变得复杂,那么问题来了?在一个大型项目中,多个组件要公用同一个或多个数据,我们如何保证每个组件获 ...
- DOM解析原理示意
DOM解析原理示意
- union 时只能查出一个表中的信息,另一个表只能查出字段
原因:news表中title字段的编码,与brand表中的编码不一致导致 y
- Thinkphp 3.2中文章详情页的上一篇 下一篇文章功能
额 简单2句话解释下 获取上一篇文章的原理,其实就是以当前文章的id为起点进行进行查询,例如id=5的文章 select * from article where (article_id<5 ...
- dede从www跟目录迁移,网站空间
图集缩略图表名dede_uploads 字段url; 图集文章内部的图片表名dede_addonimages 字段imgurls 频道文章列表的图片 ...
- LAMP LNMP 和 LNMPA
LAMP指的是:Linux+Apache+MySQL+Perl/PHP/Python LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件: Linux,操作系统: Apach ...
- myeclipse 10怎么安装与激活
http://jingyan.baidu.com/article/5553fa82eae0ce65a2393406.html
- Mac下用SSH连接远程Linux或Mac服务器
1.打开Mac终端 2.切换到root登录 输入命令:sudo -i,然后输入本机密码 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px &qu ...
- Python3基础知识之字符串
1.运算符 * >>> b=a*5>>> b'pythonpythonpythonpythonpython'>>> b.replace('t',' ...