标签:文档 c++ 程序 com div 最新 错误解决 调用 ble
编译首先确定编译器版本
MSVC++ 11.0 _MSC_VER = 1700 (Visual Studio 2012)
MSVC++ 10.0 _MSC_VER = 1600 (Visual Studio 2010)
MSVC++ 9.0 _MSC_VER = 1500 (Visual Studio 2008)
MSVC++ 8.0 _MSC_VER = 1400 (Visual Studio 2005)
MSVC++ 7.1 _MSC_VER = 1310 (Visual Studio 2003)
MSVC++ 7.0 _MSC_VER = 1300 (Visual Studio 2002)
MSVC++ 6.0 _MSC_VER = 1200
MSVC++ 5.0 _MSC_VER = 1100
查询编译器版本所支持的标准:
Wiki:目前最新的C++标准是ISO/IEC 14882:2017
发布时间 | 文档 | 简称 | 备注 |
2017 | ISO/IEC | C++17 | |
2014 | ISO/IEC 14882:2014 | C++14 | 第四个c++标准 |
2011 | ISO/IEC 14882:2011 | C++11 | 第三个c++标准 |
2007 | ISO/IEC TR 19768:2007 | C++ TR1 | C++技术报告:库扩展 |
2006 | ISO/IEC TR 18015:2006 | C++性能技术报告 | |
2003 | ISO/IEC 14882:2003 | C++03 | 第二个c++标准 |
1998 | ISO/IEC 14882:1998 | C++98 | 第一个C++标准 |
程序中如何确定编译器版本:
_MSC_VER
在程序中加入_MSC_VER宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib文件可能不能被另一个版
本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入_MSC_VER宏
,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示。
1 #if _MSC_VER >= 1400 // for vc8, or vc9 2 #ifdef _DEBUG 3 #pragma comment( lib, "SomeLib-vc8-d.lib" ) 4 #else if 5 #pragma comment( lib, "SomeLib-vc8-r.lib" ) 6 #endif 7 #else if _MSC_VER >= 1310 // for vc71 8 #ifdef _DEBUG 9 #pragma comment( lib, "SomeLib-vc71-d.lib" ) 10 #else if 11 #pragma comment( lib, "SomeLib-vc71-r.lib" ) 12 #endif 13 #else if _MSC_VER >=1200 // for vc6 14 #ifdef _DEBUG 15 #pragma comment( lib, "SomeLib-vc6-d.lib" ) 16 #else if 17 #pragma comment( lib, "SomeLib-vc6-r.lib" ) 18 #endif 19 #endif
example: #if (_MSC_VER == 1300) //vc7 #import "acax16ENU.tlb" no_implementation raw_interfaces_only named_guids #elif (_MSC_VER == 1200) //vc6 #import "acad.tlb" no_implementation raw_interfaces_only named_guids #elif (_MSC_VER == 1400) //vc8 #import "acax17ENU.tlb" no_implementation raw_interfaces_only named_guids #elif (_MSC_VER == 1500) //vc9 #import "acax18ENU.tlb" no_implementation raw_interfaces_only named_guids #endif
查询编译器选项
编译器特性
标签:文档 c++ 程序 com div 最新 错误解决 调用 ble
原文地址:http://www.cnblogs.com/sgc-nq/p/7159868.html