水滴石穿C语言之代码检查工具

2008-02-23 05:26:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  概述

  PC-Lint是个历史悠久,功能异常强劲的静态代码检测工具。他的使用历史能够追溯到电脑编程的远古时代(30多年以前)。经过这么多年的发展,他不但能够监测出许多语法逻辑上的隐患,而且也能够有效地帮您提出许多程式在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,我个人觉得,对于小公司和个人研发而言,PC-Lint也很重要,因为基于研发成本考虑,小公司和个人往往不能拿出很多很全面的测试,这时候,PC-Lint的强劲功能能够很好地提高软件的质量。

  功能

  1) PC-Lint是一种静态代码检测工具,能够说,PC-LINT是一种更加严格的编译器,不但能够象普通编译器那样检查出一般的语法错误,还能够检查出那些虽然完全合乎语法需要,但很可能是潜在的、不易发现的错误。

  2) PC-lint不但能够检测单个文档,也能够从整个项目的角度来检测问题,因为C语言编译器固有的单个编译,这些问题在编译器环境下很难被检测,而PC-Lint在检查当前文档的同时还会检查任何和之相关的文档,可想而知,他会对我们有很大的帮助。

  3) PC-lint支持几乎任何流行的编辑环境和编译器,比如Borland C 从1.x到5.x各个版本、Borland C Build、GCC、VC,VC.net、watcom C/C 、Source insight、intel C/C 等等,也支持16/32/64的平台环境。

  4) 支持Scott Meyes的名著(Effective C /More Effective C )中说描述的各种提高效率和防止错误的方法。

  四步速成PC-Lint概述

  这么好的工具,当然是先拿起来用了再说,这里分为四步,确保您马上能够使用PC-Lint了,当然,假如您上手以后,想细致深入学习这个工具,能够在网上查找相应的资料,另外在我的另一个系列文章《软件研发的七种武器》中有一篇是讲述 PC-Lint使用的,比这篇要深入细致一些,如有兴趣,也能够看看。

  第一步:安装&配置

  安装和通常的软件没有什么不同。

  安装结束后在PC-Lint安装目录下运行CONFIG.exe,各项配置简要解释如下:

  a) 第一步,给出PC-Lint的安装路径和选择配置的保存文档。

  b) 第二步,选择您所使用的C/C 编译器:比如Visual C 6.x。

  c) 第三步,选择内存模式:比如32 bit Flat Model。

  d) 第四步,选择所使用的库:比如MFC,OWL,等,可多选,在windows下研发的一般要选中windows 32 bit。

  e) 第五步,C 编程提出过重要建议的作者,选择某作者后,他提出的编程建议方面的选项将被打开:比如Scott Meyers,可不选。

  f) 第六步,头文档的配置:可在后面步骤中手工添加。

  第二步:整合PC-Lint到选定的编译环境

  当您在上述第二步中选择了编译器后,能够在PC-Lint目录下找到一个"env-选用的编辑环境.lnt"文档,比如对于Source insight 是env-si.lnt,对于vc6是env-vc6.lnt。

  打开此文档,根据上面的描述,配置您的编译器,下面以VC6为例:

  ·选取菜单 tools | customize.....

  ·选取 Tools 标签

  ·点按主对话框上方的虚线小方框 New

  ·输入 name: PC-LINT

  ·输入 Command: c:\lint\lint-nt.exe,假设安装到此路径

  ·输入 Arguments: c:\lint\std.lnt ?(FilePath)?7)选择 (x) Use Output Window

  ·Close

  ·完成后,在tools菜单下就会有一项PC-LINT选项。下面是TOOL配置图:

  第三步:Lint单个C文档

  a) 打开一个C文档

  b) 运行第2)步集成上的PC-Lint菜单项

  c) LINT结果会在一两秒之内出来。告警的解释可参考LINT安装目录下MSG.TXT文档,打开文档,通过查找告警号码定位,就能够看到比较周详的说明。

  第四步:Lint多个C文档

  a) 在LINT软件目录下建立PRJLINT.LNT文档,文档的第一行是使用的LINT配置文档名,从第二行开始,列出想任何要LINT的*.C文档名,一行一个。假如要把结果输出到文档,在前面加上一行"-os(文档名)"(例如:"-os(c:\lint\result.txt)")。样例:YF_Config.lnt

// 以下为自己想要进行Lint的.C文档,
G:\src\tt\tt1.c
G:\src\tt\tt2.c


  b) 用2)介绍的方法在Source Insight"中介绍的方法增加一条"PC-LINT PROJECT"命令,任何配置和"PC-LINT"配置相同,除了

  ①"Custom Commands"对话框中"RUN"编辑框的文字由"C:\LINT\LINT-NT.EXE filename.lnt %f"改为"C:\LINT\LINT-NT.EXE PRJLINT.LINT",也就是把配置文档名改为PRJLINT.LNT,并去掉未尾的"%f"

  ②配置的快捷键和PC-LINT要区别开来

  利用下面的DOS命令能够用来得到一堆*.C文档的清单。例如:

  ① 列出C:\SRC下任何*.C文档,并保存到C:\SRC\FILELIST.TXT:

DIR C:\SRC\*.C /B >C:\SRC\FILELIST.TXT

  ② 列出C:\SRC下,包括SRC的子目录下的任何的*.C文档,,并添加到C:\SRC\FILELIST.TXT的未尾:

DIR C:\SRC\*.C /S/B >>C:\SRC\FILELIST.TXT

  PC-Lint 重要文档说明

  Msg.txt :解释告警的内容。

  选用的.lnt :包含头文档的路径,-i选项。

  env-选用的编辑环境.lnt :讲述如何将PC-lint和对应的编辑环境结合起来。

  co-xxx.lnt :选定的编译器。

  STD.LNT :内存模型等全局性东西。

  LIB-xxx.LNT :库类型的列表,包括标准C/C 库,MFC库,OWL库等等。

  AU-xxx.LNT :C 编程提出过重要建议的作者,选择某作者后,他提出的编程建议方面的选项将被打开。

  OPTIONS.LNT :反映全局编译信息显示情况的选项文档。



标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 水滴石穿C语言之C语言的底层操作

下一篇: C语言实现MATLAB 6.5中M文档的方法

热门词条
热门标签