Visual c++ Visual Studio 2015没有';不尊重、检查、返回或必须检查结果_

Visual c++ Visual Studio 2015没有';不尊重、检查、返回或必须检查结果_,visual-c++,visual-studio-2015,cross-platform,compiler-warnings,Visual C++,Visual Studio 2015,Cross Platform,Compiler Warnings,我有一个跨平台的构建。在使用GCC的*nix平台上,如果未检查返回值,我将使用\uuuu属性(warn\u unused\u result))通知使用者我的API。我假设\u Check\u return在MSVC上做了同样的事情,但它似乎没有按照我预期的方式工作 以下代码不会像我预期的那样产生警告。警告设置为/Wall _Check_return_ _Must_inspect_result_ int foo() { return 100; } int main() { fo

我有一个跨平台的构建。在使用GCC的*nix平台上,如果未检查返回值,我将使用
\uuuu属性(warn\u unused\u result))
通知使用者我的API。我假设
\u Check\u return
在MSVC上做了同样的事情,但它似乎没有按照我预期的方式工作

以下代码不会像我预期的那样产生警告。警告设置为
/Wall

_Check_return_ _Must_inspect_result_ int foo()
{
    return 100;
}


int main()
{
    foo();

    return 0;
}

代码编译时没有警告。我做错了什么(或者我应该使用什么来为未检查的返回代码生成警告)?

SAL注释,如
\u Check\u return\u
\u Must\u inspect\u result\u
仅在代码分析生成期间进行检查(通过在IDE中启动代码分析生成,或者通过在命令行上使用/analyze标志生成)


有关更多信息,请参见MSDN上的。

SAL注释,如
\u Check\u return\u
\u Must\u inspect\u result\u
仅在代码分析生成期间进行检查(通过在IDE中启动代码分析生成或通过在命令行上使用/analyze标志生成)


有关更多信息,请参见MSDN。

我明白了。有没有办法在VC++版本上强制执行返回代码检查而不进行
/analyze
?我正在寻找一个VC++模拟的
\uuuuu属性(warn\u unused\u result))
。据我所知,不是。我明白了。有没有办法在VC++版本上强制执行返回代码检查而不进行
/analyze
?我正在寻找一个VC++模拟的
\uuuu属性(warn\u unused\u result))
。据我所知,不是。