크로스 플랫폼 빌드가 있습니다. GCC를 사용하는 * nix 플랫폼에서 반환 값을 확인하지 않으면 __attribute__((warn_unused_result))
을 사용하여 사용자에게 API를 알립니다. 나는 _Check_return
이 MSVC에서 똑같은 일을한다고 가정했지만 예상대로 작동하지 않는 것으로 보입니다.Visual Studio 2015가 _Check_return_ 또는 _Must_inspect_result_을 준수하지 않습니다.
다음 코드는 예상대로 경고를 생성하지 않습니다. 경고는 /Wall
으로 설정됩니다.
_Check_return_ _Must_inspect_result_ int foo()
{
return 100;
}
int main()
{
foo();
return 0;
}
코드는 경고없이 컴파일됩니다. 무엇이 잘못 되었습니까 (또는 체크되지 않은 반환 코드에 대한 경고를 생성하기 위해 사용해야합니까?).
나는 본다. VC++ 빌드에서'/ analyze'없이 리턴 코드 검사를 시행 할 수있는 방법이 있습니까? 나는 VC++ analog을 '__attribute __ ((warn_unused_result))'에 대해 찾고있다. – MarkP
제 지식으로는 아니요. –