Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2546|回复: 6
打印 上一主题 下一主题

VC版本与VS版本

[复制链接]

257

主题

354

帖子

1677

积分

金牌会员

Rank: 6Rank: 6

积分
1677
跳转到指定楼层
楼主
发表于 2016-1-7 23:53:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


Microsoft Visual Studio 6.0                  VC6.0
Microsoft Visual Studio .NET 2002:   VC7.0
Microsoft Visual Studio .NET 2003:   VC7.1
Microsoft Visual Studio 2005:            VC8.0
Microsoft Visual Studio 2008:            VC9.0
Microsoft Visual Studio 2010:            VC10.0Microsoft Visual Studio 2012:            VC11.0
Microsoft Visual Studio 2013:            VC12.0






回复

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
沙发
发表于 2020-2-28 17:06:32 | 只看该作者
本帖最后由 Qter 于 2022-11-15 22:13 编辑

从一个外行角度看,VC/VS有3种版本号,具备一定的迷惑性:(xx表示具体的数字)
MSVC++ xx(VC版本 eg. VC6.0)
_MSC_VER xx
VisualStudio xx(VS版本 eg. VS2012)
对照关系整理如下(更新至2022.3.26):

refs:

https://www.cnblogs.com/zjutzz/p/6013783.html



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
Visual Studio 2019 : vc16


opencv 对 VC版本 的支持情况
opencv 2.4.10 == vc10、vc11、vc12
opencv 2.4.13 == vc11、vc12
opencv 3.4.0 == vc14、vc15
opencv 3.4.1 == vc14、vc15

回复 支持 反对

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
板凳
发表于 2021-6-29 21:49:03 | 只看该作者
本帖最后由 Qter 于 2021-6-29 22:25 编辑

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"  MSVC++ 14.0  _MSC_VER == 1900 (Visual Studio 2015 version 14.0)

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars32.bat"     Visual Studio 2019 : vc16



cl.exe是Microsoft C/C++编译器

编译器:cl(cl.exe)

链接器:link(link.exe)

使用cl和link编译链接的示例

https://blog.csdn.net/huashuolin001/article/details/82384545

1.  编写源代码。创建编写文件,test.c

#include<stdio.h>

int main(void)

{

    printf("compile&&link test\n");

    getchar();

    return (0);

}

2.  编译。打开cmd窗口,进入test.c目录,执行cl /c test.c进行编译,生成test.obj文件

    FAQ:

    1) 'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件。

        解决方法:将cl.exe所在路径((cl.exe位于\VC\bin))加入系统环境变量;重启cmd窗口

    2) 编译器cl找不到mspdb80.dll(mspdb1000.dll或者mspdb140.dll等,视vs版本而定),无法启动

        解决方法:找到该.dll,加入到cl.exe所在的文件夹(该动态链接库所在文件夹Common7\IDE)

    3) 链接错误,stdio.h:不包括路径集

        解决方法:执行Common7\Tools\vsvars32.bat(vsvars32.bat 文件用于设置适当的环境变量以启用命令行生成)

    注意: 执行cl test.c,会直接生成test.obj文件和test.exe文件,因为执行cl test.c在编译后会自动执行链接。因此此处为方便理解,分开执行编译和链接的过程。cl命令后的/c参数代表,只编译不链接。

3. 链接。

    link test.obj 生成test.exe文件




gcc  -g  -o -c

调试信息 输出文件名 汇编

-c 源码编译为目标代码跳过汇编和连接的步骤

一一预编译一一

拷贝include文件

替换define

宏替换

一一编译一一

把c代码转为汇编代码\语法检查

一一汇编一一

as 汇编代码转目标代码(.o)

gcc -c main.c

一一连接一一

ld 把目标文件转可执行文件


编译器:把高级语言编译为指定机器语言的工具,以高级语言编写的程序源代码为输入,产生一个包含机器代码及相关信息(包括符号表和重定位信息等)的目标文件.


-g     -Zi   生成调试信息

make  nmake

g++(gcc)  cl
回复 支持 反对

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
地板
发表于 2021-6-29 21:51:24 | 只看该作者
本帖最后由 Qter 于 2021-6-29 22:10 编辑

MSC    1.0   _MSC_VER == 100
MSC    2.0   _MSC_VER == 200
MSC    3.0   _MSC_VER == 300
MSC    4.0   _MSC_VER == 400
MSC    5.0   _MSC_VER == 500
MSC    6.0   _MSC_VER == 600
MSC    7.0   _MSC_VER == 700
MSVC++ 1.0   _MSC_VER == 800
MSVC++ 2.0   _MSC_VER == 900
MSVC++ 4.0   _MSC_VER == 1000 (Developer Studio 4.0)
MSVC++ 4.2   _MSC_VER == 1020 (Developer Studio 4.2)
MSVC++ 5.0   _MSC_VER == 1100 (Visual Studio 97 version 5.0)
MSVC++ 6.0   _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 7.0   _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 7.1   _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 8.0   _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 9.0   _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 10.0  _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 11.0  _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 12.0  _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 14.0  _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 14.1  _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.2  _MSC_VER == 1920 (Visual Studio 2019 Version 16.0)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 Version 16.1)
MSVC++ 14.22 _MSC_VER == 1922 (Visual Studio 2019 Version 16.2)

如何确定你自己电脑上的vs的_MSC_VER,打开命令行,切换工作目录到对应版本下的VC\bin[color=rgba(0, 0, 0, 0.75)], 并且输入cl /?
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe
  1. λ cl /?
  2. 用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.27.29111 版
  3. 版权所有(C) Microsoft Corporation。保留所有权利。
复制代码



控制面板查看vc版本号


回复 支持 反对

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
5#
发表于 2021-6-29 21:58:56 | 只看该作者

VC++与C++的区别和联系:

1.C++是纯粹的编程语言。

2.VC++是编程环境,即平常所说的IDE(即Integrated Development Environment,是“集成开发环境”的英文缩写)。VC++只是一个编译器,或者说是一种“编译器 +源程序编辑器”的IDE。

3.VC是windows平台用来开发c++程序的工具软件,除了符合c++标准,包含c++标准类库以外,还提供了其他新的类库。例如MFC(用来进行windows平台GUI开发)。

扩展资料:

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。

VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2017。

它以拥有“语法高亮”,IntelliSense(自动完成功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。


回复 支持 反对

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
6#
发表于 2021-7-3 08:31:09 | 只看该作者
Visual Studio版本与ToolsVersion与工具集版本号对应版本号
Format Version(解决方案文件版本)和VS版本的对应关系:
-Visual Studio 2005 - Format Version 9.00
-Visual Studio 2008 - Format Version 10.00
-Visual Studio 2010 - Format Version 11.00
-Visual Studio 2012 - Format Version 12.00
-Visual Studio 2013 - Format Version 12.00
-Visual Studio 2015 - Format Version 12.00
ToolsVersion(.Net Framework版本)与VS版本的对应关系:
Reference: https://msdn.microsoft.com/zh-cn/library/bb383796.aspx
-Visual Studio 2008 - ToolsVersion 3.5
-Visual Studio 2010 - ToolsVersion 4.0
-Visual Studio 2012 - ToolsVersion 4.0
-Visual Studio 2013 - ToolsVersion 12.00
-Visual Studio 2015 - ToolsVersion 14.00
工具集版本号与VS版本的对应关系:
-Visual Studio 2015: V140
-Visual Studio 2013: V120
-Visual Studio 2012: V110
-Visual Studio 2010: V100
-Visual Studio 2008: V90
-Visual Studio 2005: V80
-Visual Studio 2003: V71
-Visual Studio 2002: V70
-Visual Studio 6: V60



回复 支持 反对

使用道具 举报

1228

主题

1996

帖子

7572

积分

认证用户组

Rank: 5Rank: 5

积分
7572
7#
发表于 2023-5-16 18:01:11 | 只看该作者
使用记事本打开.sln文件,


VisualStudioVersion = 17.2.32505.173
从一个外行角度看,VC/VS有3种版本号,具备一定的迷惑性:(xx表示具体的数字)
MSVC++ xx(VC版本 eg. VC6.0)
_MSC_VER xx
VisualStudio xx(VS版本 eg. VS2012)
对照关系整理如下(更新至2022.11.9):
VC 版本 _MSC_VER VS 版本 MSVC toolset version
VC6.0 1200 VS 6.0
VC7.0 1300 VS2002
VC7.1 1310 VS2003
VC8.0 1400 VS2005 80
VC9.0 1500 VS2008 90
VC10.0 1600 VS2010 100
VC11.0 1700 VS2012 110
VC12.0 1800 VS2013 120
VC14.0 1900 VS2015 140
VC15.0 [1910,1916] VS2017 141
VC16.0 [1920,1929] VS2019 142
VC17.0 [1930,) VS2022 143
refs:


Visual Studio version
_MSC_VER

Visual Studio 6.01200
Visual Studio .NET 2002 (7.0)1300
Visual Studio .NET 2003 (7.1)1310
Visual Studio 2005 (8.0)1400
Visual Studio 2008 (9.0)1500
Visual Studio 2010 (10.0)1600
Visual Studio 2012 (11.0)1700
Visual Studio 2013 (12.0)1800
Visual Studio 2015 (14.0)1900
Visual Studio 2017 RTW (15.0)1910
Visual Studio 2017 version 15.31911
Visual Studio 2017 version 15.51912
Visual Studio 2017 version 15.61913
Visual Studio 2017 version 15.71914
Visual Studio 2017 version 15.81915
Visual Studio 2017 version 15.91916
Visual Studio 2019 RTW (16.0)1920
Visual Studio 2019 version 16.11921
Visual Studio 2019 version 16.21922
Visual Studio 2019 version 16.31923
Visual Studio 2019 version 16.41924
Visual Studio 2019 version 16.51925
Visual Studio 2019 version 16.61926
Visual Studio 2019 version 16.71927
Visual Studio 2019 version 16.8, 16.91928
Visual Studio 2019 version 16.10, 16.111929
Visual Studio 2022 RTW (17.0)1930
Visual Studio 2022 version 17.11931
Visual Studio 2022 version 17.21932
Visual Studio 2022 version 17.31933
Visual Studio 2022 version 17.41934
Visual Studio 2022 version 17.51935
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-26 00:14 , Processed in 0.071500 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表