linux pclint配置_pclint设置 | 学步园

本文详细介绍了如何在Linux环境下配置和使用PC-Lint,这是一个强大的C代码静态分析工具。内容包括PC-Lint的安装、配置、与VC和Source Insight的集成,以及如何对单个和多个C文件进行Lint检查。通过PC-Lint,可以有效提高代码质量和减少潜在的bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pclint是一个检查c代码语法的工具,功能异常强劲的静态代码检测工具,功能比编译器的警告功能强很多,用好pclint可以减少很多bug。

现在介绍下如何在VC和sourceinsight中集成pclint.

安装和通常的软件没有什么不同。安装结束后在PC-Lint安装目录下运行CONFIG.exe,各项设置简要解释如下:

第一步: 安装配置pclint

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

第三步:Lint单个C文件

a) 打开一个C文件

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

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

第四步: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) 用第二步介绍的方法在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 :反映全局编译信息显示情况的选项文件。

上面是从网上搜索整理的,下面再个扫描VC工程的例子

0_12942812829F89.gif

如果要扫面单个文件则在pc-lint菜单下再新建一个菜单pc-lint-single,其它设置同上,只需把Arguments那一行的设置改为

+v +ffn -I"c:/lint" std.lnt co-msc60.lnt env-vc6.lnt --u$(WkspName).lnt $(FilePath)

要扫面工程,则进入VC工程的目录,假设是d:/test/projectname.dsp, 进入d:/test后

运行c:/lin/lint-nt projectname.dsp > projectname.lnt

则会生成projectname.lnt文件, 用ultraedit打开projectname.lnt文件,把里面不是源代码或头文件的文本行删除。比如下面这几段:

#ADD xxxxxx

xxxxx

use (+linebuffer)

/I xxxxx

xxxxx

use (+linebuffer)

之后打开VC工程运行VC的总菜单tools-->pc-lint或tools-->pc-lint-single就可以扫面工程或单个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值