VC9.VC10.VC11...各对应什么版本的VS,以及含义

_MSC_VER 定义编译器的版本

下面是一些编译器版本的_MSC_VER值(参见扩展阅读中的参考文献2的链接)

MS VC++ 15.0 _MSC_VER = 1910 (Visual Studio 2017)

MS VC++ 14.0 _MSC_VER = 1900 (Visual Studio 2015)

MS VC++ 12.0 _MSC_VER = 1800 (VisualStudio 2013)

MS VC++ 11.0 _MSC_VER = 1700 (VisualStudio 2012)

MS VC++ 10.0 _MSC_VER = 1600(VisualStudio 2010)

MS VC++ 9.0 _MSC_VER = 1500(VisualStudio 2008)

MS VC++ 8.0 _MSC_VER = 1400(VisualStudio 2005)

MS VC++ 7.1 _MSC_VER = 1310(VisualStudio 2003)

MS VC++ 7.0 _MSC_VER = 1300(VisualStudio .NET)

MS VC++ 6.0 _MSC_VER = 1200(VisualStudio 98)

MS VC++ 5.0 _MSC_VER = 1100(VisualStudio 97)

示例

在程序中加入_MSC_VER宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib文件可能不能被另一个版本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入_MSC_VER宏,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示。

#if _MSC_VER >= 1400 // for vc8, or vc9

#ifdef _DEBUG

#pragma comment( lib, "SomeLib-vc8-d.lib" )

#elif

#pragma comment( lib, "SomeLib-vc8-r.lib" )

#endif

#elif _MSC_VER >= 1310 // for vc71

#ifdef _DEBUG

#pragma comment( lib, "SomeLib-vc71-d.lib" )

#elif

#pragma comment( lib, "SomeLib-vc71-r.lib" )

#endif

#elif _MSC_VER >=1200 // for vc6

#ifdef _DEBUG

#pragma comment( lib, "SomeLib-vc6-d.lib" )

#elif

#pragma comment( lib, "SomeLib-vc6-r.lib" )

#endif

#endif

 摘自:https://baike.baidu.com/item/_MSC_VER

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值