PCLINT与SourceInsight的结合使用(9800为例)
本文参考和直接拷贝了多篇文档内容《LINT的使用.doc》、《PC-lint研究总结.doc》
一、 LINT的安装
假设Pclint安装在f:\pclint8,使用的是pclint 8.0,(安装请参考相应说明,本利是直接解压pclint文件到f:\pclint8目录的)。
假设9800所在目录为E:\ligp_9800_view3\ZXDSL9800_V1.0\code
运行f:\,执行配置,在如下画面中选择下一步。
出现命令行使用的说明窗口,选择下一步;
图 2.2.2
说明:LIN.BAT,OPTIONS.LNT,STD.LNT为成功运行完此配置向导后自动生成的文件。LI
NT-NT实际上就是LINT-NT.EXE命令。LIN.BAT中的命令语句形式还可在IDE或编辑器里使用;
选择是创建或修改已有配置文件STD.LNT的选项,这里我们选择创建,故选择上面一个选项Create a new STD.LNT,并将路径选择到想放置的目录如E:\ligp_9800_view3\ZXDSL9800_V1.0\code。如果不修改目录就用安装路径F:\pclint8,然后选择下一步;
图 2.2.3
接下来是选择编译器,在下拉框中选择自己使用的编译器。这里我们选择Microsoft Visual C++ 6.x (co-msc60.lnt),点击下一步;
图 2.2.4
说明:如果没有自己使用的编译器,可选择通用编译器:Generic Compilers。这个选项会体现在co-xxx.lnt文件中,并存放在前面我们选择的配置路径下,在后面配置选项我们所选择的***.LNT均会被存放到这个路径下。建议Generic Compilers也配置一下。
接着会让你选择一个的内存模型,可以根据自己程序区和数据区的实际大小选择一个恰当的内存模型。内存模型的选项会体现在STD.LNT文件中。缺省选择32-bit Flat Model.,然后选下一步;
图 2.2.5
选完内存模型后,会看到一个库类型的列表,在这里选择一个或多个编译时使用的库。建议选择Microsoft's Foundation Class library 和Windows NT,Windows 32-bit,如果你用到了Standard Template Library,当然也选上,选择下一步;
图 2.2.6
说明:各种库的配置文件名为lib-xxx.lnt,配置向导会把选中的库的lnt配置文件拷贝到配置路径下。
接着是让你选择为使用C/C++编程提出过重要建议的作者,选择的某作者后,他提出的编程建议方面的选项将被打开,作者建议的配置名为AU-xxx.LNT。建议全部选择,选择下一步;
图 2.2.7
说明:同样,选中作者建议的AU-xxx.LNT,也会被配置向导拷贝到配置路径下。
下一步是选择用何种方式设置包含文件目录。有两种选项,第一种是使用环境变量INCLUDE,环境变量在批处理文件中设置,环境变量后每个目录用分号隔开,例如可设成“INCLUDE=C:\MRI\MCC68K;D:\LAP\SRC\INC”。第二种选项是使用-i选项,-i选项体现在STD.LNT文件中,每个目录前以-I引导,目录间以空格分隔。如果选择使用-I选项,安装程序会接着让你输入包含文件所在的目录。建议选择使用-I选项,但可以不输入包含文件所在的目录,在安装完成后在.lnt文件中添加。然后选择下一步;
图 2.2.8
如果步骤8中选择使用-i选项,安装程序会接着让你输入包含文件所在的目录。在下面的文本框里,可手工输入文件包含路径,用分号“;”或用ctrl+Enter换行来分割多个包含路径。或者可以点中Brows,在目录树中直接选择。填完后选择下一步;
图 2.2.9
说明:如果不输入包含文件目录,直接选择下一步,在安装完成后在std.lnt文件中手工添加,注意如果目录名中有长文件名,使用时要加上双引号””,如-i”E:\Program Files\MSVC\VC98\Include”。
然后如果出现以下对话框,表示std_a.lnt,std.lnt在配置路径下已被创建,这里的std.lnt实际上就是std_a.lnt的一个拷贝,只是在缺省方式下,lint时使用的配置文件是std.lnt;
图 2.2.10
选择确定后,这里将会问你是否进行另一个编译环境的配置。配置Generic Compilers就继续,重复步骤6到12。
接下来将会准备产生一个反映全局编译信息显示情况的选项文件OPTIONS.LNT,该文件的产生方式有两种,一种是安装程序对几个核心选项逐一解释并提问你是否取消该选项,如果你选择取消,则会体现在OPTIONS.LNT文件中,具体体现方式是在该类信息编码前加-e,后面有一系列逐一选择核心选项的过程。如果选择第二种选择方式,安装文件会先生成一个空的OPTIONS.LNT文件,等你以后在实际应用时加入必要的选项。建议进入逐项选择,然后全部选否,即不取消这些选项。
接着是选择编译环境。PC-LINT提供了集成在多种开发环境中工作的功能,例如可集成在VC、BC、Source Insight中。选择后安装程序会继续问你是否还选择其它的环境开发环境的选择情况记录在env-xxx.lnt文件中。我们选择Source Insight,同样我门还可以选择VC 6.0。
安装程序会生成一个LIN.BAT文件,该文件是运行PC-LINT的批处理文件,为了使该文件能在任何路径下运行,安装程序提供了两种方法供你选择。第一种方法是让你选择把LIN.BAT拷贝到任何一个PATH目录下,在安装结束运行LCOPY.BAT文件时,会把LIN.BAT拷贝到你指定的目录。第二种方法是生成一个LSET.BAT文件,在每次使用PC-LINT前先运行它来设置路径,或者把LSET.BAT文件的内容拷贝到AUTOEXEC.BAT文件中。建议选择第一种方法,指定的目录为安装目录。
配置完成
说明:以上配置过程中在配置路径下产生的多个*.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配置文件安成上面的配置工作,或者定制出更适合自己使用的配置环境。
二、 集成到Source Insight
1) 从Souce Insight的Options菜单中选择“Custom Commands”命令项
2) 点Add键加入新的命令
3) 输入命令名称“PC-lint ”。在Run栏中输入“f:\lint\lint-nt -u -iE:\ligp_9800_view3\ZXDSL9800_V1.0\code std env-si %f”,其中E:\ligp_9800_view3\ZXDSL9800_V1.0\code是PC-LINT的安装目录。
4) 在Output栏中选择“Iconic Window”、“Capture Output”。
5) 在Control栏中选择“Save Files First”。
6) 在Source Links in Output栏中选择“Parse Links in Output”、“File,then Line”。
在Pattern栏中输入“^\([^ ]*\) \([0-9]+\)”。
8) 使用Menu命令把PC_Lint添加到菜单中
三、在工程中使用LINT
自己编写一个lnt文件(如v1_2.lnt),包含编译要使用的头文件路径:
-Id:\Micros~1\VC98\Include
-IG:\GSM\10b\R01\include
-IG:\GSM\10b\R03\include
-IG:\GSM\10b\R04\include
-IG:\GSM\COM\SYS\include
… … … …
在std.lnt中,嵌入这个自己写的lnt文件,并可以根据需要加入一些选项,如:
-e46 -e534 -e525 -e539 -e725 –u
等等,关于选项的含义将在下面介绍。
3)在Source Insight的Custom Commands中,选择PC-lint一项,在RUN一栏中,根据工程所在的路径作出调整。
然后就可以与Source Insight配合,使用PC-LINT来编译单个C/C++文件了。
也可以在命令行执行pclint-nt。
(以下尚待验证)
define的基本用法四、多个C文件的LINT
1)连编的目的:对于由多个C模块组成的程序,我们希望了解当把多个模块连接在一起后是否还有存在于模块间的语法问题。这时编译器虽然能给出一些告警,但PC-LINT的连接能给出更多的告警。还有当我们能保证其中的几个模块相对稳定,而另外几个模块仍有问题时可以先将几个稳定的模块编译连接成一个目标文件,文件每次修改完成后先单独编译,然后连接入总的目标文件。
2)方法:LINT一个工程下的多个C模块,在用户的源程序目录下一般需要三个文件: 一个选项文件(*.lnt)、一个批处理文件(*.bat)和一个MAKEFILE文件(*.mak)。
选项文件(*.lnt):LINT每个C文件时时用到的所有公共选项罗列在该文件中,选项生效的顺序按照从左到右,从上到下的原则。该类文件可以层层嵌套,嵌套的层数没有限制。例如make.lnt文件:
std.lnt
-zero
+os(temp.TXT)
批处理文件(*.bat):制作批处理文件时要注意要在该文件中调用NMAKE.EXE文件和MAKEFILE文件,例如make.mak文件:
@echo Lint Making 'CC':
d:\micros~1\vc98\bin\nmake -fmake4.mak -
@echo End of making
MAKEFILE文件(*.mak):MAKEFILE使用的NMAKE的语法,例如下面的make.mak文件:
PATH = G:\GSM\MSC\CC\SOURCE
LOCALPATH = E:\SP\
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论