如何打印出Visual Studio 2010的C标准?

How to print out C standard of Visual Studio 2010?

要了解 Visual Studio 2010 使用的 C++ 标准,我这样做:

std::cout << __cplusplus;

结果是 199711 所以 C++ 标准是 C++98。

了解Visual Studio 2010 C标准的类似方法是什么?

编辑: 我读过有关 C/C++ VS2010 标准的旧帖子,我知道 VS2010 不支持 C99,但这些帖子没有提到答案对于我的问题。

此时,如果定义了_MSC_VER,假设只支持C89。 None of Microsoft's compilers officially support beyond the C89 standard. 回到 1989 年,当 ANSI C 标准首次发布时,没有理由去检查它支持哪个版本——只有一个版本。 C89这个名称本身就是一个新词。

如果 Bo 关于 VS 2015 接近 C99 支持的评论是正确的(我不确定,我还没有安装 VS 2015,而且你似乎也不关心问题中的那个版本),你可以测试 _MSC_VER for 1900 以检测该版本。

即使编译器支持像 __STDC_VERSION__ 这样的预定义宏,您也必须这样做,因为它们不会(至少,它们不应该)增加版本号,直到它们完全支持适用的标准。换句话说,添加一些 C99 的功能不足以增加 __STDC_VERSION__.