我的公司有PC-lint可执行文件lint-nt.exe。
我正在尝试使用它将PC-lint与MS Visual Studio 2008集成以分析 .c / .cpp源代码。但是我没有成功让它发挥作用。
我看了:
http://www.gimpel.com/html/pub80/env-vc9.lnt
在一个或两个其他网站上有类似的此类信息,但没有成功。
我按照指示的步骤在Visual C ++ 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
它确实执行了分析,但它分析了很多来自Visual C ++ INCLUDE文件夹(limits.h sal.h iostream等等)的头文件,因为我的源文件有#include <iostream>
等等。 / p>
编辑:我看到pc-lint有选项+/-libdir
,+/-libh
和这些选项,这可能有所帮助,但我无法正确使用它们来避免分析编译器头。
两个问题:
答案 0 :(得分:1)
如果您的公司有Lint可执行文件,如果没有纸质,它也会有PDF格式的PC-Lint手册。它与可执行文件一起提供在CD-ROM上。该手册是你的朋友,想弄清楚如何使用所有可用的选项。
问题:
+fce
,+fcp
,+libdir
和+libh
选项。我想你只是错过了-wlib(1)
选项,对MS库产生的许多警告保持沉默。不要使用-wlib(0)
:您将沉默库头的所有选项,但源于这些库头的错误配置可能会在您的代码中产生大量警告,您无法在这些编译器头中找到隐藏的罪魁祸首。 此外:env-vc9.lnt仅包含使用VC9环境的选项(a.k.a Visual Studio);要支持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 Studio正确设置了环境变量(例如%INCLUDE%),那么就没有必要。
还有一个提示:假设您还没有这样做,请查看您可用的PC-lint版本,并确保更新到最新的补丁级别:7.50ad,8.00x ,9.00i(当前版本);版本号下的链接将您带到相应的网站页面。它会为你省去很多麻烦。我知道获得最新版本并不总是一种选择,即使是非常优选。
答案 1 :(得分:0)