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
相关推荐
玄同76510 小时前
Trae国际版与国内版深度测评:AI原生IDE的双生花
ide·人工智能·ai编程·cursor·ai-native·trae
Jackson@ML10 小时前
[Kimi重磅出击!]用Kimi Code智能高效开发Web应用程序指南
ide·python·kimi code
猿小猴子14 小时前
主流 AI IDE 之一的 OpenCode 介绍
ide·人工智能·ai·opencode
量子炒饭大师1 天前
【一天一个计算机知识】—— VScode 极速搭建:打造你的全能代码武器库
ide·vscode·编辑器
gagaga....1 天前
解决claude code for vscode对话返回 api error: 403 {“error“:{“type“:“forbidden“,“message“:.....的问题过程
ide·vscode·编辑器
hjx0510111 天前
VSCode与Anaconda安装全攻略
ide·vscode·编辑器
小小管写大大码1 天前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
PfCoder1 天前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
无限进步_1 天前
面试题 02.02. 返回倒数第 k 个节点 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
WarmSword1 天前
mac上用cursor/vscode调试root权限进程
c++·ide·vscode·macos·mac