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
相关推荐
天庭鸡腿哥44 分钟前
无须激活,安装即是Pro版!
microsoft·macos·visual studio·everything
DeadPool loves Star5 小时前
VSCode关闭Shell内联建议
ide·vscode·编辑器
超哥归来5 小时前
关闭vscode中git的行历史提示
ide·git·vscode·编辑器
勇往直前plus5 小时前
PyCharm 找不到包?Anaconda base 环境 pip 装到用户目录的排查与修复
ide·python·pycharm·conda·pip
golang学习记5 小时前
GoLand 2025.3 正式发布:Claude Agent 深度集成!
ide·idea·goland
少林and叔叔6 小时前
基于yolov11s模型训练与推理测试(VScode开发环境)
ide·人工智能·vscode·yolo·目标检测
围炉聊科技7 小时前
尝鲜 AWS Agentic IDE:Kiro 一周使用初体验
ide·人工智能·ai编程·aws
承渊政道9 小时前
C++学习之旅【C++类和对象(下)】
c++·学习·visual studio
HarrySunCn18 小时前
如何使用VSCode开发Arduino项目
ide·vscode·单片机·编辑器
知青先生21 小时前
E9项目调试方式
java·ide