如何在VS2005中使用PC-Lint

首先到 http://www.gimpel.com/html/ptch80.htm 下 载补丁,需要下载的有:
p8-a-b.zip
huapingsmith#gmail.com
lp8-b-c.zip huapingsmith#gmail.com
lp8-c-d.zip huapingsmith#gmail.com
lp8-d-e.zip huapingsmith#gmail.com
lp8-e-f.zip huapingsmith#gmail.com
lp8-f-g.zip huapingsmith#gmail.com
lp8-g-h.zip huapingsmith#gmail.com
lp8-h-i.zip huapingsmith#gmail.com
lp8-i-j.zip huapingsmith#gmail.com
lp8-j-k.zip huapingsmith#gmail.com
lp8-k-l.zip huapingsmith#gmail.com
lp8-l-m.zip huapingsmith#gmail.com
lp8-m-n.zip huapingsmith#gmail.com
lp8-n-o.zip huapingsmith#gmail.com
lp8-o-p.zip huapingsmith#gmail.com
lp8-p-q.zip huapingsmith#gmail.com
lp8-q-r.zip huapingsmith#gmail.com
lp8-r-s.zip huapingsmith#gmail.com
lp8-s-t.zip huapingsmith#gmail.com
lp8-t-u.zip huapingsmith#gmail.com
lp8-u-v.zip huapingsmith#gmail.com
lp8-v-w.zip huapingsmith#gmail.com
lp8-w-x.zip huapingsmithgmail.com

huapingsmith#gmail.com
官网上有一个补丁叫做 lp8-0-a.zip ,注意这个补丁解压后的名字与它的压缩包 名不一致,叫做 p8--a.RTP ,这个包我没有更新,我也没有去找官方解释,因为我实在太困了, 现在打字都是打盹状态。按官网的说法打补丁会累死人,所以最好建个批处理, update.bat , 文件内容就是:

patch lp8-a-b.rtp
patch lp8-b-c.rtp
patch lp8-c-d.rtp
patch lp8-d-e.rtp
patch lp8-e-f.rtp
patch lp8-f-g.rtp
patch lp8-g-h.rtp
patch lp8-h-i.rtp
patch lp8-i-j.rtp
patch lp8-j-k.rtp
patch lp8-k-l.rtp
patch lp8-l-m.rtp
patch lp8-m-n.rtp
patch lp8-n-o.rtp
patch lp8-o-p.rtp
patch lp8-p-q.rtp
patch lp8-q-r.rtp
patch lp8-r-s.rtp
patch lp8-s-t.rtp
patch lp8-t-u.rtp
patch lp8-u-v.rtp
patch lp8-v-w.rtp
patch lp8-w-x.rtp


把刚才下下来的补丁解压后放到
PC-Lint 的目录下面,把 update.bat 也 放在这里,然后执行。成功后在控制台里进入 PC-Lint 目录然后输入: LINT-NT.EXE -v ,会得到:

D:/pc-lint>LINT-NT.EXE -v

PC-lint for C/C++ (NT) Vers. 8.00x, Copyright Gimpel Software 1985-2008

可以看到,这个版本已经是最新的了,
2008 年的。但是还有文件需要下载,这些文件是必须要的,为 VS2005 准 备的, huapingsmith#gmail.com

env-vc8.lnt huapingsmith#gmail.com
co-msc80.lnt huapingsmith#gmail.com
co-msc80.h huapingsmith#gmail.com

这三个文件下下来以后,放在 PC-Lint 目 录下就可以了,不用再专门放到 lnt 目录下了,免得到时再拷出来,麻烦。
huapingsmith#gmail.co
好了,前期准备工作都已经完成了,那么下一步,正式开始设置 PC-Lint 。因为 Config.exe没有提供Vs2005的选项,所以相关的配置文件都要靠自己手写了。建一个std.lnt和一个options.lnt的文件,其中 options文件为空。将下列内容填入std.lnt:

au-sm.lnt
co-msc80.lnt
lib-mfc.lnt
lib-stl.lnt
lib-w32.lnt
lib-wnt.lnt
lib-atl.lnt
options.lnt -si4 -sp4

-i"C:/Program Files/Microsoft Visual Studio 8/VC/include;C:/Program Files/Microsoft Visual Studio 8/VC/include""C:/Program Files/Microsoft Visual Studio 8/VC/include;C:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/include;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include"
huapingsmith#gmail.com
这里最容易出错的是这个-i选项,如果你手写出错字符或者多一个空格,那么PC-LINT执行就会出错,千万不要写错了,要不然非常地难查。文件建好以 后,将上面提到的文件都从lnt文件夹里拷出来,拷到父目录PC-Lint下面。另外把lib-ole.lnt也拷出来,或者把co-msc80.lnt 中关于lib-ole的那一行删掉,要不然执行的时候也会报错的。
huapingsmith#gmail.com
那么,到此为止,PC-Lint的配置基本完成了,起码它能够运行了,下一步是把它加入到VS2005的工 具目录中。在vs2005中的Tools->External Tools,点"Add",新建一个Title为lint;Command为:D:/PC-Lint/LINT-NT.EXE;Arguments 为:-i"D:/pc-lint" std.lnt "$(ItemFileName)$(ItemExt)";Initial directory为:$(ItemDir),并选中"Use Output Window"。这样,所有的配置工作全部完成,下一步就是写一个简单的代码,然后测试一下。

#include <iostream>

int main(int argc, char* argv[])
{
int a;
return 0;
}

LINT一下,出来的报告如下:

PC-lint for C/C++ (NT) Vers. 8.00x, Copyright Gimpel Software 1985-2008

--- Module:   Source1.cpp (C++)huapingsmith#gmail.com
_
}huapingsmith#gmail.com
Source1.cpp(8) : Info 715: Symbol 'argv' (line 4) not referenced
Source1.cpp(4) : Info 830: Location cited in prior message
_
}
Source1.cpp(8) : Info 818: Pointer parameter 'argv' (line 4) could be declared
    as pointing to consthuapingsmith#gmail.com
Source1.cpp(4) : Info 830: Location cited in prior message
_
}
Source1.cpp(8) : Warning 529: Symbol 'a' (line 6) not subsequently referenced
Source1.cpp(6) : Info 830: Location cited in prior message
_huapingsmith#gmail.com
}
Source1.cpp(8) : Info 715: Symbol 'argc' (line 4) not referenced
Source1.cpp(4) : Info 830: Location cited in prior message
huapingsmith#gmail.com
由此证明,所有的设置都是正确的.

你可能感兴趣的:(工作,command,Module,tools,patch,output)