如何在程序中判断VS的版本?

来源:互联网 发布:淘宝骑行头盔哪家靠谱 编辑:程序博客网 时间:2024/05/19 19:42


如何在程序中判断VS的版本? - stpeace的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/stpeace/article/details/8282710


 先看程序:

[cpp] view plain copy
  1. #include<iostream>  
  2. using namespace std;  
  3.   
  4. int main()  
  5. {  
  6.     cout << _MSC_VER << endl;  
  7.   
  8.     return 0;  
  9. }  


      在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

0 0
原创粉丝点击