標籤:c++ 程式 遊戲
我們平常玩的遊戲、用的免CD破解補丁等程式常常都需要C++ Redistributable Package的支援。但是C++Redistributable Package有眾多版本,常常使新玩家覺得無從下手。本文的目的在於協助大部分初級玩家解決區分c++的版本問題,讓他們很快的找到自己需要的c++版本。
首先,我們來看看C++Redistributable Package究竟有多少種版本。以下分條列舉。
Microsoft Visual c++ 2005Redistributable Package(x86)
Microsoft Visual c++ 2005Redistributable Package(x64)
Microsoft Visual c++ 2005 SP1Redistributable Package(x86)
Microsoft Visual c++ 2005 SP1Redistributable Package(x64)
Microsoft Visual c++ 2008Redistributable Package(x86)
Microsoft Visual c++ 2008Redistributable Package(x64)
Microsoft Visual c++ 2008 SP1Redistributable Package(x86)
Microsoft Visual c++ 2008 SP1Redistributable Package(x64)
Microsoft Visual c++ 2010Redistributable Package(x86)
Microsoft Visual c++ 2010Redistributable Package(x64)
Microsoft Visual c++Redistributable Package(IA64)
如此多的版本難免讓人看得眼花繚亂。下面,我就通過對大家常見的問題進行解答的方式來破解C++ Redistributable Package(以下簡稱c++)版本之謎。
問題1:裝c++ 2010可以替代c++2005和c++ 2008嗎?對於一般的軟體,版本交高的程式可以替代併兼容版本較低的程式。然而c++則是一個特例。由於不同的版本中包含了不同的庫檔案,因此c++ 2010不能替代c++ 2005和c++ 2008!
問題2:c++ 2005、c++ 2008、c++ 2010都裝在一台電腦上能相容嗎?這個問題的答案是明確的——它們可以互相相容,不會發生衝突,因此建議大家把它們都安上。
問題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位的檔案。這一點特別有迷惑性,希望初級玩家們特別重視。
問題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都裝上。
問題7:網上說某個程式需要c++ 2008,可是我裝了還是不能用呀?c++不僅有大版本之分(如2005、2008、2010),還有版本號碼之分。也就是說,同樣都是一個c++ 2008,由於它們的版本號碼不同,它們之間包含的檔案也有微小的差別。如果你的程式恰好需要這個有微小差別的檔案,那麼你的程式就無法啟動。在這一點上,微軟的中文網站給廣大的中文使用者製造了一個不小的陷阱。比如在微軟中國上提供的最新版本的c++ 2008 SP1的版本號碼是9.0.30729.01,而實際上已經有了版本號碼為9.0.30729.4148的檔案。差別還是不小,因此造成了有很多人說我從微軟網站上下載都不行。請大家記住,微軟網站(尤其是微軟的中文網站)上不一定提供的是最新版本。比如最近很火的憤怒的小鳥(AngryBirds)需要c++ 2005 SP1和c++ 2008 SP1,但從微軟網站上下載者兩個檔案後問題依舊,其根本原因就是微軟提供的不是最新的檔案(有關憤怒的小鳥需要的檔案請參看我的部落格《AngryBirds(憤怒的小鳥)無法啟動的解決辦法》)。
問題8:為什麼c++ 2005裝不了,總是提示“Command line option syntax error. Type Command /? for Help.”?這個問題很普遍,其實還是微軟自己的BUG造成的。有關這個問題的詳細分析和解決辦法,請參閱我的部落格《Visual c++ 2005 RedistributablePackage不能安裝的解決辦法》。
問題9:上面列舉的最後一個檔案中的IA是什麼意思?IA翻譯成中文是“安騰”,這是一種專門用在伺服器上的處理器。由於該處理器包含了特殊的CPU指令集,因此需要專用的檔案。來看本文的人99.999%用不到這個檔案,可以忽略。
總結:說了這麼多,總結一下就是,不管你是32位還是64位作業系統,都建議安裝最新版本的c++ 2005 SP1 Redistributable Package(x86)、c++2008 SP1 Redistributable Package(x86)、c++ 2010Redistributable Package(x86)這三個檔案。大家不用到處找,我已經把它們打包上傳。
c++ 2005 SP1(2.0.50727.4053)的:
http://download.csdn.net/source/3009961或者http://good.gd/960866.htm
c++ 2008 SP1(9.0.30729.4148)的:
http://download.csdn.net/source/3009523或者http://good.gd/963671.htm
c++ 2010 (10.0.30319.1):
http://download.csdn.net/source/3000030
Microsoft Visual c++ 各版本之間關係