C++选择编译宏_MSC_VER
_MSC_VER是微软的预编译控制。
_MSC_VER可以分解为:
MS:Microsoft的简写。一般的英文
C:MSC就是Microsoft的C编译器。
VER:Version的简写。
_MSC_VER的意思就是:Microsoft的C编译器的版本。
微软不同时期,编译器有不同的版本:
1MS VC++ 14.0 _MSC_VER = 1900 (Visual Studio 2015)
2MS VC++ 12.0 _MSC_VER = 1800 (VisualStudio 2013)
灯谜题目及答案3MS VC++ 11.0 _MSC_VER = 1700 (VisualStudio 2012)
4MS VC++ 10.0 _MSC_VER = 1600(VisualStudio 2010)关爱明天网
5MS VC++ 9.0 _MSC_VER = 1500(VisualStudio 2008)
6MS VC++ 8.0 _MSC_VER = 1400(VisualStudio 2005)
7MS VC++ 7.1 _MSC_VER = 1310(VisualStudio 2003)
8MS VC++ 7.0 _MSC_VER = 1300(VisualStudio )
9MS VC++ 6.0 _MSC_VER = 1200(VisualStudio 98)
10MS VC++ 5.0 _MSC_VER = 1100(VisualStudio 97)
中药治鼻炎其中MS VC++ 14.0表⽰Visual C++的版本为14.0,后⾯括号中的Visual Studio 2015,表明该VC++包含在微软开发⼯具Visual Studio 2015中。
在程序中加⼊_MSC_VER宏可以根据编译器版本让编译器选择性地编译⼀段程序。例如⼀个版本编译器产⽣的lib⽂件可能不能被另⼀个版本的编译器调⽤,那么在开发应⽤程序的时候,在该程序的lib调⽤库中放⼊多个版本编译器产⽣的lib⽂件。在程序中加⼊_MSC_VER宏,编译器就能够在调⽤的时根据其版本⾃动选择可以链接的lib库版本,如下所⽰:
1#if _MSC_VER >= 1400 // for vc8, or vc9
2
3 #ifdef _DEBUG
4
故乡风景
5 #pragma comment( lib, "SomeLib-vc8-d.lib" ) 6
7 #el if
8
9 #pragma comment( lib, "SomeLib-vc8-r.lib" ) 10
11 #endif
12
13#el if _MSC_VER >= 1310 // for vc71
动漫女头像
14
15 #ifdef _DEBUG
16
17 #pragma comment( lib, "SomeLib-vc71-d.lib" ) 18
19 #el if
20
21 #pragma comment( lib, "SomeLib-vc71-r.lib" ) 22
西红柿炒蘑菇23 #endif
24
25#el if _MSC_VER >=1200 // for vc6
26
27 #ifdef _DEBUG
28
29 #pragma comment( lib, "SomeLib-vc6-d.lib" ) 30
31 #el if
32
33 #pragma comment( lib, "SomeLib-vc6-r.lib" ) 34
漓江在桂林的什么位置
35 #endif
36
37#endif