VC9、VC10、VC11等等各对应什么版本的Visual Studio,以及含义

文章目录

  • [1、_MSC_VER 定义编译器的版本](#1、_MSC_VER 定义编译器的版本)
  • 2、示例

1、_MSC_VER 定义编译器的版本

  • MS VC++ 15.0 _MSC_VER = 1910 (Visual Studio 2017)

  • MS VC++ 14.0 _MSC_VER = 1900 (Visual Studio 2015)

  • MS VC++ 12.0 _MSC_VER = 1800 (VisualStudio 2013)

  • MS VC++ 11.0 _MSC_VER = 1700 (VisualStudio 2012)

  • MS VC++ 10.0 _MSC_VER = 1600(VisualStudio 2010)

  • MS VC++ 9.0 _MSC_VER = 1500(VisualStudio 2008)

  • MS VC++ 8.0 _MSC_VER = 1400(VisualStudio 2005)

  • MS VC++ 7.1 _MSC_VER = 1310(VisualStudio 2003)

  • MS VC++ 7.0 _MSC_VER = 1300(VisualStudio .NET)

  • MS VC++ 6.0 _MSC_VER = 1200(VisualStudio 98)

  • MS VC++ 5.0 _MSC_VER = 1100(VisualStudio 97)

简单来说vs发布版本与vc版本对应关系如下所示:

  • Visual Studio 6 : vc6

  • Visual Studio 2003 : vc7

  • Visual Studio 2005 : vc8

  • Visual Studio 2008 : vc9

  • Visual Studio 2010 : vc10

  • Visual Studio 2012 : vc11

  • Visual Studio 2013 : vc12

  • Visual Studio 2015 : vc14

  • Visual Studio 2017 : vc15

2、示例

在程序中加入 _MSC_VER 宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib 文件可能不能被另一个版本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入 _MSC_VER 宏,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示:

cpp 复制代码
#if _MSC_VER >= 1400 // for vc8, or vc9
 
#ifdef _DEBUG
 
#pragma comment( lib, "SomeLib-vc8-d.lib" )
 
#elif
 
#pragma comment( lib, "SomeLib-vc8-r.lib" )
 
#endif
 
#elif _MSC_VER >= 1310 // for vc71
 
#ifdef _DEBUG
 
#pragma comment( lib, "SomeLib-vc71-d.lib" )
 
#elif
 
#pragma comment( lib, "SomeLib-vc71-r.lib" )
 
#endif
 
#elif _MSC_VER >=1200 // for vc6
 
#ifdef _DEBUG
 
#pragma comment( lib, "SomeLib-vc6-d.lib" )
 
#elif
 
#pragma comment( lib, "SomeLib-vc6-r.lib" )
 
#endif
 
#endif
相关推荐
摇滚侠1 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
霸道流氓气质1 天前
Trae IDE 新手入门指南
ide
爱就是恒久忍耐1 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
bloglin999991 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
终将老去的穷苦程序员1 天前
IntelliJ IDEA 的安装教程
java·ide·intellij-idea
我不是懒洋洋2 天前
【C++】string(string的成员变量、auto和范围for、string常用接口的说明、OJ题目、string的模拟实现)
c语言·开发语言·c++·visual studio
C++ 老炮儿的技术栈2 天前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
春日见2 天前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
lazy H2 天前
Spring Boot 项目如何连接 Redis?新手入门配置和常见错误总结
ide·spring boot·redis·后端·学习·intellij-idea
2601_962054952 天前
终端与IDE形态的vibe coding实测:两款AI编程工具迭代能力对比
数据库·ide·ai编程