[转] C++ Redistributable Package版本详解
我们使用的程序常常都需要C++ Redistributable Package的支持。C++ Redistributable Package有众多版本,给安装带了不便。
目前(2013-12-04) C++ Redistributable Package的版本:
Microsoft Visual c++ 2005 Redistributable Package(x86)
Microsoft Visual c++ 2005 Redistributable Package(x64)
Microsoft Visual c++ 2005 SP1 Redistributable Package(x86)
Microsoft Visual c++ 2005 SP1 Redistributable Package(x64)
Microsoft Visual c++ 2008 Redistributable Package(x86)
Microsoft Visual c++ 2008 Redistributable Package(x64)
Microsoft Visual c++ 2008 SP1 Redistributable Package(x86)
Microsoft Visual c++ 2008 SP1 Redistributable Package(x64)
Microsoft Visual c++ 2010 Redistributable Package(x86)
Microsoft Visual c++ 2010 Redistributable Package(x64)
Microsoft Visual c++ 2010 SP1Redistributable Package(x86)
Microsoft Visual c++ 2010 SP1 Redistributable Package(x64)
Microsoft Visual c++ 2012 Redistributable Package(x86)
Microsoft Visual c++ 2012 Redistributable Package(x64)
Microsoft Visual c++ Redistributable Package(IA64)
如此多的版本难免让人困惑。下面通过几个问题来了解C++ Redistributable Package版本的关系。
问题1:装c++ 2010可以替代c++
2005和c++ 2008吗?
对于一般的软件,版本交高的程序可以替代并兼容版本较低的程序。然而c++则是一个特例。由于不同的版本中包含了不同的库文件,因此c++ 2010不能替代c++ 2005和c++ 2008!
问题2:c++ 2005、c++ 2008、c++ 2010、c++
2012都装在一台电脑上能兼容吗?
这个问题的答案是明确的——它们可以互相兼容,不会发生冲突,因此建议大家把它们都安上。
问题3:x86、x64是什么意思?
其实很多软件上都有这些数字的分别。其中x86代表32位系统,x64代表64位系统。由于64位的系统可以兼容32位的程序,因此x86版本的文件可以装在32位和64位系统上,而x64版本的文件只能装在64位的Windows操作系统上。
问题4:我 的系统是64位的操作系统,因此我就只要装x64的文件?
错!虽然从理论上来说应该装x64版本,但我们必须要考虑实际情况。截止目前以及可以预见的未来
几年,我们所使用的游戏、破解补丁、从网上下载的小程序,它们都是在32位的环境下开发的。也就是说,开发者或游戏公司在开发这些程序的时候都是调用了 32位的库文件。因此,如果我们想在我们自己的电脑上运行这些程序的时候,不管是32位系统还是64位系统,都务必至少要安装x86(32位)的文件。经常有人装了c++后还运行不了某些程序,就是因为他的64位系统只装了64位的文件。这一点特别有迷惑性,希望初级玩家们特别重视。当然,对于那些使用了maya、3ds max等工业软件的用户,x86、x64在64位系统上都是要安装的。
问题5:c++ 2005和c++ 2005 SP1它们之间的关系是怎样的?
其实它们本质上都是服务于c++ 2005开发的程序,它们之间只是版本号不同,可以把c++ 2005 SP1看成是c++ 2005的更新版。因此如果你的电脑之前装有c++ 2005,再安装c++ 2005 SP1时会覆盖c++ 2005。不过不用担心,有了c++ 2005 SP1后,需要c++ 2005和需要c++ 2005 SP1的程序都能运行。因此除非特殊需要,建议大家安装c++ 2005 SP1即可,不用再装c++ 2005了。c++ 2008与c++ 2008 SP1的关系与c++ 2005类似,不在赘述。
问题6:一个程序只要05、08、10中的某一个即可?
不一定。一个跨代开发的程序完全可能既需要c++ 2005,又需要c++ 2008。因此还是那句话,鉴于文件都不是很大,建议把05、08、10、12都装上。
问题7:网 上说某个程序需要c++ 2008,可是我装了还是不能用呀?
C++不仅有大版本之分(如2005、2008、2010、2012),还有版本号之分。也就是说,同样都是一个 c++ 2008,由于它们的版本号不同,它们之间包含的文件也有微小的差别。如果你的程序恰好需要这个有微小差别的文件,那么你的程序就无法启动。在这一点上,
微软的中文网站给广大的中文用户制造了一个不小的陷阱。比如在微软中国上提供的最新版本的c++ 2008 SP1的版本号是9.0.30729.01,而实际上已经有了版本号为9.0.30729.6163的文件。差别还是不小,因此造成了有很多人说我从微软
网站上下载都不行。请大家记住,微软网站(尤其是微软的中文网站)上不一定提供的是最新版本。比如最近很火的愤怒的小鸟(AngryBirds)需要 c++ 2005 SP1和c++ 2008 SP1,但从微软网站上下载者两个文件后问题依旧,其根本原因就是微软提供的不是最新的文件
问题8:为 什么c++ 2005装不了,总是提示“Command line option syntax error. Type Command /? for Help.”?
这个问题很普遍,其实还是微软自己的BUG造成的。
问题9:上面列举的最后一个文件中的IA是什么意思?
IA翻译成中文是“安腾”,这是一种专门用在服务器上的处理器。由于该处理器包含了特殊的CPU指令集,因此需要专用的文件。来看本文的人99.999%用不到这个文件,可以忽略。
总结:说 了这么多,总结一下就是,不管你是32位还是64位操作系统,都至少要安装最新版本的c++ 2005 SP1
Redistributable Package(x86)、c++ 2008 SP1
Redistributable Package(x86)、c++ 2010 SP1 Redistributable
Package(x86)、c++ 2012 Redistributable Package(x86)这四个文件,对于需要使用工业软件的用户,则还需额外安装64位的文件。
我想大家可能会觉得怎么需要安装这么多文件啊?一个一个下载然后再安装太麻烦了,有没有简单点的办法?当然有,这里我要推荐大家使用DirectX修复工具增强版。 DirectX修复工具本来是修复DirectX的,但是其中的增强版包含了本文中列出的所有需要安装的c++版本(只有DirectX修复工具V3.0 及以上版本包含c++ 2012)。下载后只要点一个按钮,就能完成所有的安装操作,简便易行。同时,使用DirectX修复工具还能顺便解决你系统中的很多其他问题(比如 0xc000007b问题),因此极力推荐大家使用。
DirectX增强版地址:http://blog.csdn.net/vbcom/article/details/7245186
[转] C++ Redistributable Package版本详解的更多相关文章
- java newInstance() 的参数版本与无参数版本详解
newInstance() 的参数版本与无参数版本详解 博客分类: Core Java 通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...
- npm中package.json详解
通常我们使用npm init命令来创建一个npm程序时,会自动生成一个package.json文件.package.json文件会描述这个NPM包的所有相关信息,包括作者.简介.包依赖.构建等信息,格 ...
- JDK、Eclipse、Myeclipse、Tomcat等各种软件的版本详解(写给对版本和兼容性问题焦头烂额的你)
这篇文章我们来探讨一下关于JDK.Eclipse.Myeclipse.Tomcat的版本问题.一.关于版本的几个概念1.32位和64位两个版本: 简言之,64位的操作系统支持识别4G以上的内存条 ...
- (译)package.json详解
原文链接 概述 本文囊括了所有package.json文件中你需要知道的细节.注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量.该文件描述的很多行为都受np ...
- VSCode插件开发全攻略(三)package.json详解
更多文章请戳VSCode插件开发全攻略系列目录导航. package.json 在详细介绍vscode插件开发细节之前,这里我们先详细介绍一下vscode插件的package.json写法,但是建议先 ...
- React package.json详解
概述: 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据).npm install命令根据这个配置文件 ...
- MySQL版本详解
一.版本说明 1.1.MySQL相关连接 MySQL官网:https://www.mysql.com/ MySQL下载:https://dev.mysql.com/downloads/mirrors/ ...
- package.json详解
1.概念 Node.js项目遵循模块化的架构,当我们创建了一个Node.js项目,意味着创建了一个模块,这个模块的描述文件,被称为package.json 亦即:模块的描述文件 = package.j ...
- Javascript模块化开发1——package.json详解
一.环境安装 Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/. 在该页面你可以根据不同平台系统选择你需要的 Node.js 安装包. Node. ...
随机推荐
- 分布式环境下的id生成方法
分布式环境下的id生成方法 前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash ...
- FastScroll(2)不分组的listview 打开fastscroll的分组提示功能
本文只让fastscroll具有提示分组功能,但listview并不显示分组,如果想让分组的listview显示fastscroll,看下篇. 1,在listview中打开fastscroll 2,自 ...
- NFC(13)使用Android Beam技术传输文件
注意 Android Beam技术传输文件时nfc只负责连接两个手机,而传输文件实际是用蓝牙模块.且目前接收文件功能只是系统完成,不用自写个接收程序. 传输文件相关的重要api 从Android4.1 ...
- 关于广义后缀树(多串SAM)的总结
之前我们给的SAM的例题,基本上是一个串建SAM的就能做的 如果要建多个串的SAM应该怎么做呢 首先看题,bzoj2780 我一开始的想法是SA以前的弄法,把串拼起来,中间加分隔符做SAM 这题确实可 ...
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- 在 Azure 中使用公用 IP 创建多 NIC VM
Russ Slaten 2014年 11 月 18日下午 4点 我们最近宣布了支持具有多个网络接口控制器 (NIC) 的虚拟机 (VM).我仍在努力了解此功能适用的所有新场景,但首先,我希望亲自测试 ...
- jquery在线引用的地址
1. 很多网站都是使用这种方式引入,客户的浏览器可能已经缓存过了 jquery.可以直接调用本地的,速度更快… 2. Google code 使用了 cdn 技术在很多地方有节点服务器,加载 jque ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- 编写高效的C程序与C代码优化 via jobbole
http://blog.jobbole.com/82582/ 原文出处: codeproject 译文出处:CodingWu的博客 欢迎分享原创到伯乐头条
- 用JDBC访问ORACLE数据库 关于commit 增快效率 大数据 等的整理
1.问:用JDBC访问ORACLE数据库,做DELETE操作,能用JAVA多线程实现吗? ORACLE服务器要怎么配?(以下答案来自网络,仅供参考) 答: Oracle有自己的锁机制.就算你开100条 ...