资源描述:
《水滴石穿c语言之代码检查工具pc-lint》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、水滴石穿C语言Z代码检查工具PC-Lint2004年12月27日16:27天极网文/楚云风概述PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古吋代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而月•也能够冇效地帮你捉出许多程序在空间利川、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft,PC-Lint检查无错课无警告是代码首先要过的笫一关,我个人觉得,对于小公司和个人开发而言,PC-Lint也非常重要,因为基于开发成本考虑,小公司和个人往往不能拿出很多很全面的测试,这时候,PC-L
2、int的强劲功能,可以很好地提高软件的质量。功能1)PC-Lint是一种静态代码检测工具,可以说,PC-LINT是一种更加严格的编译器,不仅可以彖普通编译器那样检查出一般的语法错误,还nJ以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误。2)PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题,因为C语言编译器固有的单个编译,这些问题在编译器环境下很难被检测,而PC-Lint在检杳当前文件的同吋还会检查所有相关的文件,可想而知,它会对我们有很大的帮助。3)PC-lint支持儿乎所有流行的编辑环境和编译器,比如BorlandC++从1.x到5.x各
3、个版本、BorlandC++Build、GCC、VC,VC.net>watcomC/C++>Sourceinsight>intelC/C++等等,也支持16/32/64的平台环境。4)支持ScottMeyes的名著(EffectiveC++/MoreEffectiveC++)中说描述的各种提高效率和防止错课的方法。四步速成PC-Lint概述这么好的工貝,当然是先拿起來用了再说,这里分为四步,保证你马上可以使用PC-Lint了,当然,如果你上手以后,想细致深入学习这个工具,可以在网上查找相应的资料,另外在我的另一个系列文章《软件开发的七种武器》屮有一篇是讲述PC-Lint使用的,比
4、这篇要深入细致一些,如有兴趣,也可以看看。笫一步:安装&设置安装和通常的软件没有什么不同。安装结束后在PC-Lint安装目录下运行CONFIG,exe,各项设置简要解释如下:a)第一步,给IIIPC-Lint的安装路径和选择设置的保存文件。b)第二步,选择你所使用的C/C++编译器:比如VisualC++6.x。c)第三步,选择内存模式:比如32bitFlatModel。d)第四步,选择所使用的库:比如MFC,OWL,等,可多选,在windows下开发的一般要选中windows32bitoe)第五步,C"编程捉出过重要建议的作者,选择某作者后,他提出的编程建议方面的选项将被打开:
5、比如ScottMeyers,可不选。f)第六步,头文件的设置:可在后面步骤中手工添加。笫二步:整合PC-Lint到选定的编译环境当你在上述第二步中选择了编译器后,可以在PC-Lint目录下找到一个〃env-选用的编辑环境・lnt"文件,比如对于Sourceinsight是env-si.lnt,对于vc6是env~vc6.Into打开此文件,根据上面的描述,配置你的编译器,下血以VC6为例:・选取菜单tools
6、customize•选取Tools标签・点按主对话框上方的虚线小方椎New・输入name:PC-LINT•输入Command:c:lintlint-nt.exe,假设安
7、装到此路径•输入Arguments:c:lintstd.lnt?(FilePath)?7)选择(x)UseOutputWindow・Close・完成后,在tools菜单下就会有一项PC-LINT选项。笫三步:Lint单个C文件a)打开一个C文件b)运行第2)步集成上的PC-Lint菜单项c)LINT结果会在一两秒Z内出来。告警的解释可参考LINT安装冃录下MSG.TXT文件,打开文件,通过杏找告警号码定位,就可以看到比较详细的说明。笫四步:Lint多个C文件a)在LINT软件目录下建立PRJLINT.LNT文件,文件的第一行是使川的LINT配置文件名,从第二行开始,列出想所有
8、要LINT的*丄文件名,一行一个。如果要把结果输出到文件,在前面加上一行"-os(文件名)"(例如:zz-os(c:lintresult.txt)/z)o样例:YF_Config.lnt//以下为自己想要进行Lint的.C文件,G:srcttttl.cG:srctttt2.cb)用2)介绍的方法在SourceInsight"中介绍的方法增加一条〃PCT」NTPROJECT"命令,所有设置与〃PC-LINT〃设置相同,除了①"CustomCommands'对话框中"