时间:2020-10-29 11:03:34 | 栏目:C代码 | 点击:次
代码如下所示:
#include<iostream> using namespace std; int main() { cout << _MSC_VER << endl; return 0; }
在VC6.0中结果为:1200
在VC10.0(VS2010)中结果为:1600
_MSC_VER实际就是 Microsoft visual c++ version(是微软的预定义宏).
具体对应如下:
MS VC++ 14.0 _MSC_VER = 1900(VS2015)
MS VC++ 12.0 _MSC_VER = 1800(VS2013)
MS VC++ 11.0 _MSC_VER = 1700(VS2012)
MS VC++ 10.0 _MSC_VER = 1600(VS2010)
MS VC++ 9.0 _MSC_VER = 1500(VS2008)
MS VC++ 8.0 _MSC_VER = 1400(VS2005)
MS VC++ 7.1 _MSC_VER = 1310(VS2003)
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100
那么,_MSC_VER有什么作用呢? 答曰:版本判断,从而实现兼容性控制.
常见用法:
#if _MSC_VER >= 1400 // for vc8, or vc9
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc8-d.lib" )
#else if
#pragma comment( lib, "SomeLib-vc8-r.lib" )
#endif