我公司有PC-lint可执行的lint-nt.exe。
我试图用它来集成PC-lint和2008来分析.c/..cpp源代码。但我没能成功地做到这一点。
我读到:
http://www.gimpel.com/html/pub80/env-vc9.lnt
在其他几个网站上也有类似的信息,但都没有成功。
我按照前面提到的步骤在VisualC++ 8中添加了一个外部工具,但是当我单击新添加的工具时,pc-lint窗口会立即打开并立即关闭,并且我怀疑它是否运行过任何分析。所以这不适合我。
然后,我尝试在windows命令提示符下运行lint-nt.exe
lint-nt.exe +fce +fcp +cpp(cpp,cxx,cc) -i"C:\Program Files\Microsoft Visual Studio 9.0\VC\include" +libdir +libh myfile.cpp
它确实执行了分析,但是它分析了许多来自VisualC++包含文件夹的头文件(Lims.h、sal.h、iostream等),因为我的源文件有#include <iostream>等等。
编辑:我看到pc-lint有选项+/-libdir、+/-libh和类似的选项,这可能会有所帮助,但我只是无法正确地使用它们来避免对编译器头的分析。
两个问题:
发布于 2012-12-12 05:56:48
如果您的公司有Lint可执行文件,它也将有PDF格式的PC-Lint手册,如果不是在纸上。它与可执行文件一起在CD-ROM上交付.那本手册是你的朋友,找出如何使用所有可用的选项。
关于你的问题:
+fce、+fcp、+libdir和+libh选项。我想您只是错过了-wlib(1)选项,对MS库产生的许多警告保持沉默。不要使用-wlib(0):您将沉默库头的所有选项,但源自这些库头的不正确配置可能会在代码中产生大量警告,在这些编译器头中找不到隐藏的罪魁祸首。此外:env-vc9.l不仅包含使用VC9环境的选项(即Visual );要支持C/C++编译器,您需要适当的编译选项文件http://www.gimpel.com/html/pub80/co-msc90.lnt及其关联的(Lint-只读)头文件http://www.gimpel.com/html/pub80/co-msc90.h。
因此,在开始使用VS2008进行集成之前,请下载它们并尝试使用以下命令行:
lint-nt.exe +cpp(cpp,cxx,cc) co-msc90.lnt myfile.cpp看看结果是否比以前好。-i选项是可以的,但是如果您为Visual正确设置了环境变量(例如%INCLUDE%),那么它就不应该是必需的。
还有一个提示:假设您还没有这样做,请查看您可用的PC-lint版本,并确保更新到最新的修补程序级别:7.50ad、8.00x、9.00i (当前版本);版本号下面的链接将您带到相应的网站页面。这会给你省下很多麻烦。我知道,获得最新版本并不总是一种选择,即使是非常可取的。
发布于 2012-12-10 18:46:26
PC-Lint的安装及其在Visual 2005中的应用。看中间的那篇文章。
https://stackoverflow.com/questions/13805664
复制相似问题