如何在程序中判断VS的版本(实现方法详解)

时间:2021-08-27 03:47:38

代码如下所示:

?
1
2
3
4
5
6
7
8
9
#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

以上这篇如何在程序中判断VS的版本(实现方法详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。