目 录
1 PC-lint总体介绍
2安装配置
2.1 安装
2.2 配置
PC-Lint/FlexeLint for C/C++是GIMPEL SOFTWARE公司的产品,是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它除了可以检查出一般的语法错误外,还可以检查出那些虽然符合语法要求,但很可能是潜在的、不易发现的错误。
C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PC-Lint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PC-lint能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。
PC-lint全球拥有广泛的客户群,因为它性价比高,易于学习,容易推广和固化到软件开发测试流程中去。使用方法很简单,可以用命令行方式进行,例如lint-nt –u std.lnt test1.c test2.c test3.c 。另外支持MAKEFILE方式。也可以集成到开发环境中。如集成到Source Insight/SLICKEDIT/MS VC6.0/KEIL C..等。
如微软公司,都把它作为程序检查工具,在程序合入正试版本或交付测试之前一定要保证通过了LINT检查,他们要求软件工程师在使用LINT时要打开所有的编译开关,如果一定要关闭某些开关,那么要给出关闭这些开关的正当理由。
由于越来越多的用户要求能在非PC的平台上使用PC-Lint,GIMPEL公司采用了标准C 源码包的方式发布了FlexeLint,这样一来,FlexeLint就可被用户方便的移植在各种的平台上。
由于此版本比较特殊,故无需安装,只需要将ZIP压缩包里的所有文件解压到一个目录下即可,这里假定为D:\pclint9\pc lint9目录。
解压之后目录中文件及目录的说明如下:
pclint9setup.exe配置向导。
DOS-ins 包含各种文件如下:
lint-nt.exe PC-lint可执行程序;
pclint9setup.exe配置向导;
readme.txt 手册的补充说明,最新特性的更新都在这里说明;
PC-lint.pdf PC-Lint英文参考手册,许多问题的答案可以在这里找到;
pr.exe 打印工具;
msg.txt文本格式的错误号信息解释文件。
Lnt\ 包含各种lnt配置文件的目录,文件如下:
co-....lnt 各种特定的编译器的配置文件;
co.lnt 通用的编译器配置文件;
sl-....c 支持各种非ANSI标准编译器的标准库模块;
sl.c 支持ANSI标准的通用编译器的标准库模块;
env-....lnt 支持包括微软Visual Studio在内的各种开发环境以及多种编辑工具的配置文件;
lib-....lnt 支持各种特定库的配置选项文件;
au-....lnt 作者编程建议的配置文件。
Test\. 包含各种测试源文件的目录。
假定我们为Microsoft Visual C++ 6的开发环境进行配置,运行D:\pclint9\pc lint\pclint9setup.exe进行配置。
(1)运行D:\pclint9\pc lint\pclint9setup.exe后出现如图2.1画面,选择start;
(3)点击同意上面的同意条款,选择下一步,如图2.3所示。
(4)输入注册的名称和公司,也可根据默认选项,点击下一步,如图2.4所示。
(5)选择目标文件夹,进行安装,安装目录为C:\lint,如图2.5所示。
(6)点击下一步,如图2.6所示。
(7)选择next,进行下一步,如图2.7所示。
(8)安装之后勾选:I want to run the configration program now ,点击下一步,进入自动配置界面,如图2.8所示。
(9)欢迎界面,提示版权信息,点击“下一页”,如图2.9所示。(9)欢迎界面,提示版权信息,点击“下一页”,如图2.9所示。
(10)出现命令行使用的说明窗口,选择下一步,如图2.10所示,说明:LIN.BAT,OPTIONS.LNT,STD.LNT为成功运行完此配置向导后自动生成的文件。LINT-NT实际上就是LINT-NT.EXE命令。LIN.BAT中的命令语句形式还可在IDE 或编辑器里使用。
图2.10 选择下一页
(11)欢迎选择是创建或修改已有配置文件STD.LNT的选项,这里我们是第一次配置,故选择上面一个选项Create a new STD.LNT,不修改配置路径,然后选择下一步,如图2.11所示。
说明:界面中配置路径不修改的话就是PC-Lint安装的路径C:\PCLint,新建的STD.LNT 就存放在这个目录下,当然用户也可选择另外的配置路径存放生成的STD.LNT。
(12)接下来是选择编译器,在下拉框中选择自己使用的编译器。这里我们选择Microsoft Visual C++ 6.x (co-msc60.lnt),点击“下一页”,如图2.12所示。
说明:如果没有自己使用的编译器,可选择通用编译器:Generic Compilers。这个选项会体现在co-xxx.lnt文件中,并存放在前面我们选择的配置路径(C:\PCLint)下,在后面配置选项我们所选择的***.LNT均会被存放到这个路径下。
(13)接着会选择一个的内存模型,可以根据自己程序区和数据区的实际大小选择一个恰当的内存模型。内存模型的选项会体现在STD.LNT文件中,缺省选择32-bit Flat Model.,点击“下一页”,如图2.13所示。
(14)选完内存模型后,会看到一个库类型的列表,在这里选择一个或多个编译时使用的库。建议选择Microsoft's Foundation Class library 和Windows NT,Windows 32-bit,如果用到了Standard Template Library,也选上,点击“下一页”,如图2.14所示。
说明:各种库的配置文件名为lib-xxx.lnt,配置向导会把选中的库的lnt配置文件拷贝到配置路径下。
(14)选完内存模型后,会看到一个库类型的列表,在这里选择一个或多个编译时使用的库。建议选择Microsoft's Foundation Class library 和Windows NT,Windows 32-bit,如果用到了Standard Template Library,也选上,点击“下一页”,如图2.14所示。
说明:各种库的配置文件名为lib-xxx.lnt,配置向导会把选中的库的lnt配置文件拷贝到配置路径下。
(15)接着是选择为使用C/C++编程提出过重要建议的作者,选择的某作者后,他提出的编程建议方面的选项将被打开,作者建议的配置名为AU-xxx.LNT。建议全部选择, 点击“下一页”,如图2.15所示。
(16)选择用何种方式设置包含文件目录。这里我们选择用-i方式协助我们来设置,点击“下一页”,如图2.16所示。
说明:这里有两种选项:第一种选项是使用-i选项协助我们设置,-i选项体现在STD.LNT 文件中,每个目录前以-i引导,目录间以空格分隔。第二种是跳过这一步,手工设置,建议选择第一种。
(17)如果步骤16中选择使用-i选项,安装程序会接着让你输入包含文件所在的目录。在下面的文本框里,可手工输入文件包含路径,用分号“;”或用ctrl+Enter换行来分割多个包含路径,或者可以点中Brows,在目录树中直接选择,填后点击“下一页”,如图2.17所示。
说明:如果不输入包含文件目录,直接选择下一步,在安装完成后在std.lnt文件中手工添加,注意如果目录名中有长文件名,使用时要加上双引号””,如-i”E:\Program Files\MSVC\VC98\Indlue”。
(18)出现以下对话框,表示std_a.lnt,std.lnt在配置路径下已被创建,这里的std.lnt实际上就是std_a.lnt的一个拷贝,只是在缺省方式下,lint时使用的配置文件是std.lnt,点击“确定”,如图2.18所示。
(19)选择确定后,这里将会问你是否进行另一个编译环境的配置。这里我们选择否,如图2.19所示。
说明:如果选是,将会从第4步开始进行配置,在配置完了包含路径后,会出现下面的对话框,表示另一个编译环境的std_b.lnt配置文件在配置路径下被创建,并且问你是否要用这个文件替换已经存在的std.lnt,以使得最后配置的编译环境的配置成为lint时的缺省配置。
(20)接下来将会准备产生一个控制全局编译信息显示情况的选项文件OPTIONS.LNT,这里选择No,即不取消这些选项,点击“下一页”,如图2.20所示,.
说明:该文件的产生方式有两种,一种是安装程序对几个核心选项逐一解释并提问你是否取消该选项,如果你选择取消,则会体现在OPTIONS.LNT文件中,具体体现方式是在该类信息编码前加-e,后面有一系列逐一选择核心选项的过程。如果选择第二种选择方式,安装文件会先生成一个空的OPTIONS.LNT文件,等你以后在实际应用时加入必要的选项。
(21)接着选择所支持的集成开发环境选项,可选多个或一个也不选,PC-LINT提供了集成在多种开发环境中工作的功能,例如可集成在VC、BC、Source Insight中。这里我们选择MS VC++6,这样env-v6.lnt就会被拷贝到配置路径中,点击“下一页”,如图2.21所示。
(22)安装程序会生成一个LIN.BA T文件,该文件是运行PC-LINT的批处理文件,为了使该文件能在任何路径下运行,安装程序提供了两种方法供你选择。第一种方法是让你选择把LIN.BAT拷贝到任何一个PA TH目录下。第二种方法是生成一个LSET.BAT文件,在每次使用PC-LINT前先运行它来设置路径,或者把LSET.BAT 文件的内容拷贝到AUTOEXEC.BA T文件中。建议选择第一种方法,指定的目录为安装目录,点击“下一页”,如图2.22所示。
(23)指定目录,点击“下一页”,如图2.23所示。
(24)配置完毕,点击“完成”,如图2.24所示
说明:以上配置过程中在配置路径下产生的多个*.lnt文件,除了std.lnt,std_a.lnt,std_b.lnt,option.lnt为配置向导所生成,其它co-xxx.lnt,lib-xxx.lnt,env-xxx.lnt均是从C:\Lint8\lnt中拷贝出来的,在这个目录下还有其它PCLint所支持的编译器、库及集成开发环境的lnt配置文件,所有的lnt文件均为文本文件。
上面的配置方法适合于刚开始接触PC-lint时使用,对于熟练的使用者可以直接编辑、编写各*.lnt配置文件安成上面的配置工作,或者定制出更适合自己使用的配置环境。