请选择 进入手机版 | 继续访问电脑版
查看: 236|回复: 0

[原创] 详解 Microsoft Vistual C++ 2015-2019 Redistributable

[复制链接]

162

主题

669

帖子

6019

积分

超级版主

Rank: 8Rank: 8

积分
6019
发表于 2019-7-16 10:00:29 | 显示全部楼层 |阅读模式

登录查看清晰图片

您需要 登录 才可以下载或查看,没有帐号?加入斑马阵营

x
本帖最后由 小斑马 于 2019-7-16 10:01 编辑

     Microsoft Vistual C++ Redistributable 是微软提供的用于提供程序在运行时加载一些公共功能模块的库,我们通常称为运行时库,当使用 MSVC 编译器 /MD(使用操作系统提供的动态链接库) 方式编译一个程序时,你的应用程序会到系统中寻找指定函数对应的动态链接库并加载到程序中以实现具体功能。而使用 /MT 方式编译则不会依赖操作系统的运行时库、完全独立的。但 /MT 方式编译的程序有个缺陷就是必须要求调用程序与被调用程序所使用的编译器是同一个版本,否则可能因为运行时库不匹配导致各种各样的崩溃和异常。所以很多程序会用 /MD 方式编译,让调用者不必考虑版本匹配的问题还可以减少程序的体积,一般在动态库 DLL 程序中比较常见。

     而操作系统默认是不携带这些运行时库的,需要我们单独安装。微软从 MSVC++ 2005 一直 2015 都是提供单独的运行时库安装包,有的时候你看到一些系统中可能会安装了 MSVC++ 2005、2008、2010、2012、2013 等等一大堆运行时库。而且最崩溃的是指定运行库版本还有不同的小版本,尤其是 MSVC++ 2005 和 2008,会多出一些像 SP1 等大版本的更新包,让人防不胜防。

     终于,微软在 MSVC++ 2015 后意识到了这个问题,从 MSVC++ 2015 到 2019 仅使用一个安装包,并始终提供最新的安装包在官网,并没有具体地址提供下载,这让我们系统终于不用再单独去安装和维护 2015、2017、2019 的单独版本了。

2019-07-16_09-41-39.png

     微软官方下载地址:最新支持的 Visual C++ 下载

     由此也会带来一些问题,微软虽然在后期修改了安装包的整合方式,但是曾经的曾经他们也提供过单独 MSVC++ 2015 和 2017 的安装包,这些安装包怎么办?下面是一些 FAQ。

1、如果已经安装了单独的 VC2015 和 VC2017 再安装 VC2015~2019 会有什么问题?
最新 VC2015~2019 运行库会卸载原安装的 VC2015 及 VC2017,并只保证最新的 VC2015~2019 存在一份。控制面板添加删除程序中会看到历史安装的 VC2015 和 VC2017 单独的运行库被删除,而只保留 VC2015~2019。

2、如果已经安装了最新的 VC2015~2019 再安装 VC2015 或 VC2017 运行库会有什么问题?
会提示已经安装了指定版本,无法继续安装。

所有“经验”都来自于一次一次问题的解决,而解决这些问题的基础是“知识”。有“经验”的老司机不是用几年时间挂出来一文不值的证书!而是真真正正学到脑子里科学的、可推理、可验证的知识。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入斑马阵营

本版积分规则

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