要了解Visual Studio 2010使用的C ++标准,我这样做:
std::cout << __cplusplus;
结果是199711
所以C ++标准是C ++ 98。
了解Visual Studio 2010的C标准的方法有哪些?
编辑:我读过有关VS2010的C / C ++标准的旧帖子,我知道VS2010不支持C99,但这些帖子没有提到我的问题的答案。
答案 0 :(得分:2)
此时,如果定义了_MSC_VER
,则仅假设支持C89。 None of Microsoft's compilers officially support beyond the C89 standard.早在1989年,当ANSI C标准首次发布时,没有理由检查并查看它支持的版本 - 只有一个版本。 C89的名称本身就是一种新词。
如果Bo的评论是正确的,VS 2015接近C99支持(我不确定,我还没有安装VS 2015,你似乎并不关心那个版本在问题中,或者),您可以在1900年测试_MSC_VER
以检测该版本。
即使编译器支持像__STDC_VERSION__
这样的预定义宏,你也必须这样做,因为他们不会去(至少,他们不应该这样做)增加版本号,直到他们完全支持适用的标准。换句话说,添加一些C99的功能并不足以增加__STDC_VERSION__
。