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 Compiler:Microsoft Visual C++ 2008(co-msc90.lnt)-->下一步,选中32-bit FlatModel-->下一步,根据实际需要,选中ActiveTemplate Library(ATL)、 GTK Library、 Microsoft Foundation Class Library、 Standard TemplateLibrary、Windows 32-bit-->下一步,选中ScottMeyers(Effective C++,3rd Ed:,Dan Saks, MISRa 2004-->下一步,选中Create  -i optic-->下一步,点击Brose,C:\ProgramFiles (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\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-lint与VS2008集成:打开VS2008,Tools-->External Tools…-->Add-->Title:PC-lint,Command: 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

C/C++代码静态检查工具PC-lint在VS2008开发环境中的安装配置和使用相关推荐

  1. 代码静态检查工具PC-Lint运用实践

    代码静态检查工具PC-Lint运用实践 如何提交zero bug的产品,如何尽早发现bug,是软件开发工程师和测试工程师都需要思考的问题.我认为高质量的代码是关键,具体实施保障办法有:框架约束,代码评 ...

  2. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成

    Jenkins 的简单部署 在安装了 Jenkins 运行所需的依赖(主要是 JDK)之后,可以通过如下步骤简单快速地部署 Jenkins: 下载 Jenkins. 打开终端并切换至下载目录. 运行命 ...

  3. 一些代码静态检查工具的简介

    1.KLOCWORK: 适用语言:C, C++, JAVA 是否开源:否, 是否需要编译:是 作用:代码静态检查工具.用于高效检测软件缺陷和安全隐患,提供优秀的静态源代码分析解决方案.软件号称是业界领 ...

  4. cppcheck 自定义规则_cppcheck代码静态检查工具及相关工具插件用法介绍

    摘要:介绍代码缺陷静态检查工具(static code analyzer)cppcheck,以及其vs.qtcreator.git.jenkins插件及用法. Cppcheck着重于检测未定义的行为和 ...

  5. 代码静态检查工具汇总

    静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):"静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码 ...

  6. 最全的搭建Java的开发环境以及eclipse安装配置开发工具

    哈喽大家好!又和大家见面了,我是那个练习1年半的前端练习生听风者,快有好几个月了嘛,好久都没有写过博客了,顿感空虚,也是因为之前在实习,然后开学后就也比较懒吧,然后一直没有写写博客,这不这个学期开了一 ...

  7. php代码静态检查工具,代码静态检查工具汇总

    工具名 静态扫描语言开源/付费 厂商 介绍 主页网址 ounec5.0 VB.Net.C.C++和C#, 还支持Java. 付 费 Ounce Labs \ http://www.ouncelabs. ...

  8. c++代码静态检查工具——cpplint使用技巧

    cpplint使用技巧 google c++ 编码规范    (中文 ) 李开复微博爆谷歌公开 C++编码规范 称全球最好, 开复认证,值得信赖@@@ 这篇文档确实值得去细看,不过条条框框太多,不强制 ...

  9. Windows 64位机上C/C++代码静态检查工具Logiscope RuleChecker的安装和使用

    1.  从http://download.csdn.net/detail/zmywly/3611820   和   http://download.csdn.net/detail/zmywly/361 ...

最新文章

  1. java输出流输入流的使用_Java中的IO流之文件输入输出流
  2. 【运筹学】对偶理论 : 对偶问题引入 ( 生产产品线性规划 | 设备租赁线性规划 | 对偶问题引入 )
  3. java七大_Java 7七大新功能
  4. Windows平台九点提升权限终极技巧
  5. Neo4j:Cypher –删除重复的节点
  6. 信息学奥赛一本通(1055:判断闰年)
  7. python-循环的入门
  8. 列标题 如何删除gridcontrol_GridControl简单属性操作
  9. yum httpd安装详解
  10. SpringCloud工作笔记73---Http协议操作工具集合
  11. java.awt.Image转 com.lowagie.text.Image
  12. 海媚服务器怎么进系统,海媚v3服务器配置
  13. Unity RTS 策略游戏等建造系统仿照COC游戏的插件 - City Building Perfect Kit
  14. 论文篇-----基于拉依达准则的交通数据粗大误差处理优化方法
  15. 信号与系统实验三 信号的卷积计算
  16. c语言中整型32768输出是多少,c语言中不合法的整型常数是32768为什么 – 手机爱问...
  17. c语言排快速排序过程,C语言中快速排序法怎么排
  18. 绿联扩展坞拆解_绿联最新豪华版3A1C四口多功能扩展坞深度拆解,用料满满
  19. csgo进创意工坊显示专用服务器,国服CSGO加载Steam创意工坊的图
  20. esm_info_trans_flag之APN研究

热门文章

  1. Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
  2. 网络流24题(2) P4014 分配问题
  3. 树莓派视觉小车 -- 人脸追踪(人脸识别、PID控制舵机运动)
  4. linux rpm找不到命令_Linux安装软件
  5. ArUco与AprilTag简介
  6. 设置IDEA编辑过程直接通过F5刷新网页就可以实时查看JSP文件更新结果,而非通过重新run
  7. 几种经典的居中技巧(垂直和水平居中)
  8. 在Ubuntu 16.04.3 LTS上运行go+https+json示例
  9. 对ARM异常(Exceptions)的理解
  10. 分库分表之后,主键的处理方法