我使用 VS2010 创建了一个控制台应用程序,如下所示
int test(int i)
{
if ( i == 0 )
return 0;
else
return 1;
int j = 2;
j++;
return j;
}
void deadCode(char * pa)
{
printf("%s", pa);
}
int _tmain(int argc, _TCHAR* argv[])
{
test(2);
return 0;
}
我检查了“在构建时为 C/C++ 启用代码分析”并选择规则集“Microsoft 所有规则”,当我构建项目时,我得到了
1>运行代码分析:
1> 运行代码分析...
1> 代码分析完成 -- 0 个错误,0 个警告
我预计 test() 中粗体部分会出现“CA1804”警告,应该为死代码 deadCode() 显示另一个警告。
我的问题是为什么代码分析没有发现缺陷?我还尝试创建仅启用 CA1804 警告的规则集,但结果与上述相同(Microsoft 所有规则)。
有任何想法吗?