a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 35|回复: 0

[C语言] C语言程序设计典型实例之十

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
  概述3 U- R& _/ o" I* ?. J* A  r# y* Z
  PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机的远古时代中说描述的各种提高效率和防止错误的方法。1 A; ~7 J: T* S' T& O
  四步速成PC-Lint概述2 g0 ]6 h" \9 }
  这么好的工具,当然是先拿起来用了再说,这里分为四步,保证你马上可以使用PC-Lint了,当然,如果你上手以后,想细致深入学习这个工具,可以在网上查找相应的资料,另外在我的另一个系列文章《软件开发的七种武器》中有一篇是讲述 PC-Lint使用的,比这篇要深入细致一些,如有兴趣,也可以看看。
. \, p" }. v8 @: J2 r  第一步:安装&设置4 R  J. R' J6 J% D/ H: q8 E$ W- h
  安装和通常的软件没有什么不同。: y$ V7 n, l  g$ A
  安装结束后在PC-Lint安装目录下运行CONFIG.exe,各项设置简要解释6 g, Q& V) K! ^3 H1 k- o) W$ g0 _
  a) 第一步,给出PC-Lint的安装路径和选择设置的保存文件。
9 F, A* N/ K2 Y+ F, S2 \  b) 第二步,选择你所使用的C/C++编译器:比如Visual C++ 6.x。" i7 Y; Q2 ~! u
  c) 第三步,选择内存模式:比如32 bit Flat Model。
; t" ^: o. w% i( e+ ]4 i  d) 第四步,选择所使用的库:比如MFC,OWL,等,可多选,在windows下开发的一般要选中windows 32 bit。2 J. O/ L, j" S1 k
  e) 第五步,C++提出过重要建议的,选择某后,他提出的建议方面的选项将被打开:比如Scott Meyers,可不选。
( H# h3 _; j6 z, \. k) C* J  f) 第六步,头文件的设置:可在后面步骤中手工添加。
8 w. B/ V1 _$ `( a/ e, ~  第二步:整合PC-Lint到选定的编译环境
, i0 O' @9 q% G; T3 ?& \  当你在上述第二步中选择了编译器后,可以在PC-Lint目录下找到一个"env-选用的环境.lnt"文件,比如对于Source insight 是env-si.lnt,对于vc6是env-vc6.lnt。+ o! e8 j" T* }$ Y
  打开此文件,根据上面的描述,配置你的编译器,下面以VC6为例:5 H4 R3 L2 O4 a) D* x' q. m
  选取菜单 toolscustomize....., z/ G) H7 Y  c! q) Y9 G
  选取 Tools 标签3 ?& p- P' k6 s( q' \
  点按主对话框上方的虚线小方框 New" o3 K. {" ^  ~) w# n/ s  u
  输入 name: PC-LINT* ]- h( U0 N) [! V7 G
  输入 Command: c:“lint“lint-nt.exe,假设安装到此路径1 Y" m2 D' y5 a
  输入 Arguments: c:“lint“std.lnt 7)选择Use Output Window/ S! y* O3 e# l# W
  Close+ W; W8 B/ `; t# m$ ?7 m
  完成后,在tools菜单下就会有一项PC-LINT选项。下面是TOOL配置
* n1 K9 ~# ?. W, N  B  第三步:Lint单个C文件
5 R7 v0 D, A7 k8 }! |, }1 C  a) 打开一个C文件
, }% q. `" f: t/ y# p. b3 t8 e  b) 运行第2)步集成上的PC-Lint菜单项
2 L8 G0 P; |/ i* T: I* ?' b. K  c) LINT结果会在一两秒之内出来。告警的解释可参考LINT安装目录下MSG.TXT文件,打开文件,通过查找告警号码定位,就可以看到比较详细的说明。* f" c+ h  `8 p  h
  第四步:Lint多个C文件5 E" K/ z) n; I. U0 y
  a) 在LINT软件目录下建立PRJLINT.LNT文件,文件的第一行是使用的LINT配置文件名,从第二行开始,列出想所有要LINT的*.C文件名,一行一个。如果要把结果输出到文件,在前面加上一行"-os"(例如:"-os")。样例:YF_Config.lnt; p/ N% G/ u5 r& D+ C* p
  以下为自己想要进行Lint的.C文件,1 K; Z& Z. X* q4 u
  G:“src“tt“tt1.c
  Q0 b; |. F( F  G:“src“tt“tt2.c
. q4 p' c% ~( ~. c% Z9 U  …6 @" h9 `2 j( z
  b) 用2)介绍的方法在Source Insight"中介绍的方法增加一条"PC-LINT PROJECT"命令,所有设置与"PC-LINT"设置相同,除了
3 ]( b8 p0 m# d( R  ①"Custom Commands"对话框中"RUN"框的文字由"C:“LINT“LINT-NT.EXE filename.lnt %f"改为"C:“LINT“LINT-NT.EXE PRJLINT.LINT",也就是把配置文件名改为PRJLINT.LNT,并去掉未尾的"%f"  b/ l; @8 l; G$ H
  ②设置的快捷键与PC-LINT要区别开来1 W7 p: H" `7 y+ ]# o# N0 `
  利用下面的DOS命令可以用来得到一堆*.C文件的清单。例如:$ }, l9 b) a  `; b, H
  ① 列出C:“SRC下所有*.C文件,并保存到C:“SRC“FILELIST.TXT:9 v+ j6 U3 _1 c. K5 G( I% w
  DIR C:“SRC“*.C /B C:“SRC“FILELIST.TXT
4 \* J9 F0 r+ K# O8 O  ② 列出C:“SRC下,包括SRC的子目录下的所有的*.C文件,,并添加到C:“SRC“FILELIST.TXT的未尾:: m1 f4 O0 K8 A( c) ?; ]  o% t
  DIR C:“SRC“*.C /S/B C:“SRC“FILELIST.TXT
) \: a7 t# a. R8 i8 q8 v$ u  PC-Lint 重要文件说明
- ]3 s. U# v5 `  Y6 \! O* u  Msg.txt :解释告警的内容。* U! I+ ~' |6 {0 u( _/ ]
  选用的.lnt :包含头文件的路径,-i选项。4 a% P3 ]9 C+ O" ]; l+ X* G% `( s5 o
  env-选用的环境.lnt :讲述如何将PC-lint与对应的环境结合起来。
  A* y" i* M, G" R8 O3 S  E2 z) Q  co-xxx.lnt :选定的编译器。
. R  E, l5 F& z8 g/ R, v6 {  STD.LNT :内存模型等全局性东西。
! \. K/ U" m" W" J7 K+ V% s) s  LIB-xxx.LNT :库类型的列表,包括标准C/C++库,MFC库,OWL库等等。  _: ]: a7 s( `2 E+ i; _# w
  AU-xxx.LNT :C++提出过重要建议的,选择某后,他提出的建议方面的选项将被打开。( `( r) P! C/ q, [) ?+ I
  OPTIONS.LNT :反映全局编译信息显示情况的选项文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-11 07:55 , Processed in 0.480984 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表