适用于非.Net C+的FxCop(或同等产品)+;代码 P>有没有办法让FxCop分析非托管C++代码?设置/clr标志允许FxCop打开.exe。它发现了很多C++项,但是对代码的分析却很弱。例如,跳过了以下代码: int i=0; if (i=2) printf("Don't worry..everything will be okay.");

适用于非.Net C+的FxCop(或同等产品)+;代码 P>有没有办法让FxCop分析非托管C++代码?设置/clr标志允许FxCop打开.exe。它发现了很多C++项,但是对代码的分析却很弱。例如,跳过了以下代码: int i=0; if (i=2) printf("Don't worry..everything will be okay.");,.net,c++,fxcop,.net,C++,Fxcop,我想要一个工具,可以捕捉I=2并警告它应该是I==2。关于让FxCop更全面或其他人认为有用的工具,有什么建议吗?MSVC(至少是VC9/VS2008)已经警告了您的具体示例: warning C4706: assignment within conditional expression (哎呀:我刚刚意识到我的测试项目设置已被设置为警告级别4-/W4。MSVC在默认设置下不会发出此警告)。因此,将项目设置设置为/W4并获得更多诊断(希望没有太多噪音) 我发现VC9中的警告相当不错,如果您想强

我想要一个工具,可以捕捉
I=2
并警告它应该是
I==2
。关于让FxCop更全面或其他人认为有用的工具,有什么建议吗?

MSVC(至少是VC9/VS2008)已经警告了您的具体示例:

warning C4706: assignment within conditional expression
(哎呀:我刚刚意识到我的测试项目设置已被设置为警告级别4-/W4。MSVC在默认设置下不会发出此警告)。因此,将项目设置设置为/W4并获得更多诊断(希望没有太多噪音)

我发现VC9中的警告相当不错,如果您想强制解决此问题,可以轻松设置编译器将其视为错误

VisualStudio的Team Server版本包含对微软的静态分析工具PyFAST的支持(选项是C++项目的高级/启用代码分析C/C++)。您也可以在Windows驱动程序工具包和/或Windows SDK中获得该工具,尽管我无法保证有关将WDK/SDK版本集成到Visual Studio中的说明:


有些人喜欢的另一种选择(非免费)是。

我们使用coverity,不是免费的,而是一个很棒的静态分析工具