我正在尝试找到MSVC
功能列表及其出现的相应版本,以便我可以执行以下操作:
#if defined(_MSC_VER) && _MSC_VER > X
#define MY_INLINE __forceinline
#else
#define MY_INLINE inline
#endif
例如,gcc
有一个minimum version for all attributes列表。 MSVC
是否有类似内容?
答案 0 :(得分:4)
本文介绍了从 Visual Studio 2015 返回到 Visual Studio 2003 的所有重大更改,以及本文中的术语"新行为"或者"现在"请参阅Visual Studio 2015及更高版本。条款"旧行为" "之前"请参阅Visual Studio 2013和早期版本:
本文介绍了Visual C ++中的C ++ 11/14/17特性:
下表显示了对新C ++功能的编译器支持:
以下是我发现的其他一些参考资料:
此链接总结了ISO C ++ 03,C ++ 11,C ++ 14,C ++ 17和Draft C ++ 20语言标准对Visual C ++编译器的编译器功能和标准库功能的一致性Studio 2017及更早版本:
以下是有关使用MSVC的Internal Version Numbering的信息:
预定义的宏_MSC_VER表示主要版本和次要版本 Visual C ++编译器的编号。宏的值是整数 最后两位数字表示次要版本号的文字 前面的数字表示主要版本号。
从Visual Studio 2017开始,_MSC_VER单调递增 每个Visual C ++工具集更新。因此,例如,版本 随Visual Studio 2017版本15.3.0一起提供的MSVC ++ 14.1 _MSC_VER到1911. Microsoft建议使用> =运算符来测试_MSC_VER的值。
以下是各种版本的Visual C ++编译器的_MSC_VER值:
MSC 1.0 _MSC_VER == 100
MSC 2.0 _MSC_VER == 200
MSC 3.0 _MSC_VER == 300
MSC 4.0 _MSC_VER == 400
MSC 5.0 _MSC_VER == 500
MSC 6.0 _MSC_VER == 600
MSC 7.0 _MSC_VER == 700
MSVC++ 1.0 _MSC_VER == 800
MSVC++ 2.0 _MSC_VER == 900
MSVC++ 4.0 _MSC_VER == 1000 (Developer Studio 4.0)
MSVC++ 4.2 _MSC_VER == 1020 (Developer Studio 4.2)
MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)
MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)