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 ...
随机推荐
- 浅析@Deprecated,调用方法时出现横线划掉样式
Deprecated 这个注释是一个标记注释.所谓标记注释,就是在源程序中加入这个标记后,并不影响程序的编译,但有时编译器会显示一些警告信息. 那么Deprecated注释是什么意思呢?如果你经常使用 ...
- React Native之Image组件
同 HTML 的 img 元素一样,React Native 提供的 Image 组件可以用来显示各种途径的图片,比如网络图片.本地图片.照相机图片等. 虽然效果是一样的.然而用法还是有区别的. 1. ...
- win10安装配置jdk的环境变量
换了个硬盘,用上了win10,发现win10安装好jdk之后,配置环境变量这个相对于win7和xp还是有那么一丢丢区别的,趁着夜色,随笔一记. 1.安装jdk之后,或者也可以用之前安装好的文件夹,先记 ...
- Jupyter notebook入门
Jupyter notebook入门 [TOC] Jupyter notebook 是一种 Web 应用,能让用户将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中. Jupyter ...
- Java Draw
简单绘画 直线 矩形 圆 根据矩阵画图 package com.zhoudm; import java.awt.*; import javax.swing.*; public class Draw e ...
- beetl模板引擎使用笔记
maven项目pom: <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl< ...
- JVM-垃圾收集的过程
JDK1.7 JVM的垃圾收集算法有 1. 标记-清除算法: 2. 复制算法:在商业虚拟机都是使用这种算法来回收新生代的 3. 标记-整理算法: JDK1.7 JVM的垃圾收集器有 1. Serial ...
- php连接memcahed出现Cannot assign requested address (99)的解决方法
今天在将服务器合并后,发现php偶尔会报出 Server *.*.*.* (tcp *****) failed with: Cannot assign requested address (99) 的 ...
- 我的Android手册
目录解释说明 assets文件说明 app_id:机智云 app id app_secret:机智云 app secret product_key:机智云 product key wifi_type_ ...
- python3 第十九章 - 写一个10进制转任意进制的函数
我们先回忆下之前所学的进制转换的知识(详见:第十章),10进制转其它进制的方法是: 整数部分,除基取余,逆序排列 小数部分,乘基取整,顺序排列 负数,按绝对值处理 好,假设我们需要转化的数都是正整数, ...