[英]How do I call C++/CLI (.NET) DLLs from standard, unmanaged non-.NET applications?
[英]FxCop (or equivalent) for non-.Net C++ code
有没有办法让FxCop分析非托管C ++代码? 设置/ clr标志允许FxCop打开.exe。 它找到了很多C ++项目,但对代码的分析非常薄弱。 例如,跳过以下代码:
int i=0;
if (i=2) printf("Don't worry..everything will be okay.");
我想要一个可以捕获i=2
的工具,并警告它应该是i==2
。 有关让FxCop更彻底或其他人认为有用的其他工具的建议吗?
MSVC(至少VC9 / VS2008)已经警告您的具体示例:
warning C4706: assignment within conditional expression
(哎呀:我刚刚意识到我的测试项目设置已经达到警告级别4 - / W4。MSVC不会在默认设置下发出此警告)。 因此,将项目设置设置为/ W4并获得更多诊断(希望没有太多噪音)。
我发现VC9中的警告相当不错,如果你想强制解决问题,你可以轻松设置编译器将它们视为错误。
Visual Studio的Team Server版本包含对PREfast的支持 - 来自Microsoft的静态分析工具(该选项位于C ++项目的高级/启用C / C ++代码分析中)。 您也可以在Windows驱动程序工具包和/或Windows SDK中获取该工具,但我无法保证将WDK / SDK版本集成到Visual Studio中的说明:
有些人喜欢(非免费)的另一种选择是Gimpel的PC-Lint产品 。
我们使用覆盖,而不是免费但是一个很棒的静态分析工具
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.