Visual Studio 2010為什么沒(méi)有64位版本?
我在前一篇文章(Visual Studio 2010是用什么編譯的?)中簡(jiǎn)單描述了Visual Studio IDE 開(kāi)發(fā)環(huán)境構(gòu)建方式.但話題并未就此結(jié)束,此文繼續(xù)將介紹時(shí)到今天(2010年)Visual Studio系列產(chǎn)品為何仍沒(méi)有對(duì)應(yīng)的x64位版本原因.
64位的操作系統(tǒng)
盡管x64運(yùn)算離我們非常近了,我們新購(gòu)置的個(gè)人電腦幾呼全部配備64位CPU,但除了應(yīng)用在服務(wù)器端,這些cpu很少運(yùn)行在真正64位的系統(tǒng)中.
也就是說(shuō)目前經(jīng)常被我們使用到的64位操作系統(tǒng)多是對(duì)服務(wù)器處理進(jìn)行優(yōu)化的,而對(duì)桌面應(yīng)用64位的操作系統(tǒng)普及率并不高.
不管怎樣,即使你已經(jīng)在日常工作中使用64位的操作系統(tǒng),意味者你將擁有更多的困惑,首先是電腦硬件部分的驅(qū)動(dòng)程序.
另外即使你電腦內(nèi)存擁有4G或8G內(nèi)存,裝上64位應(yīng)用程序,也不見(jiàn)得會(huì)很快,因?yàn)?4位的系統(tǒng)真的很耗內(nèi)存.
操作系統(tǒng)內(nèi)每時(shí)每刻都會(huì)發(fā)生線程的上下文切換,然而由于需要保存相對(duì)于32位的64位cpu的更多寄存器內(nèi)容,系統(tǒng)內(nèi)核棧對(duì)內(nèi)存也需要更多.
x64位操作系統(tǒng)對(duì)調(diào)用約定進(jìn)行的修定,增加了新的寄存器用于傳遞參數(shù).
編程語(yǔ)言
前面提到x64位操作系統(tǒng)下對(duì)內(nèi)存的需求將會(huì)增多,原因在于編寫(xiě)x64位應(yīng)用程序本身就存在高昂的代價(jià).
比如如果你用C++/C#語(yǔ)言的話,本來(lái)在32位系統(tǒng)中我們的long型數(shù)據(jù)在內(nèi)存占用32位空間,但是到64位系統(tǒng)中它們將增長(zhǎng)一倍.內(nèi)存指針全部將是64位.
而且有時(shí)需要對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行優(yōu)化要進(jìn)行數(shù)據(jù)對(duì)齊,更加劇了內(nèi)存的消耗.
cpu緩存
然而相對(duì)于目前主流應(yīng)用程序的32位數(shù)據(jù),64位的緩存數(shù)據(jù),在cpu 1級(jí),2級(jí)cache中的緩存數(shù)據(jù)將減半.所以最終用戶需要購(gòu)買具有更大緩存的cpu,同時(shí)也將掏更多的錢.
結(jié)論
集以上所言,x64位系統(tǒng)好像離我們又遠(yuǎn)了,怎么這么難呢?當(dāng)初cpu由8位,到16位,再到32位有這么難嗎? 我認(rèn)為這只是暫時(shí)的相對(duì).
而且微軟目前也沒(méi)有完全準(zhǔn)備好推出64位版的Visual Studio開(kāi)發(fā)工具,至少里面還有許多算法是依賴32位cpu的特性作的,它們的開(kāi)發(fā)人員也在想辦法將它們遷移到新平臺(tái)中.
但情況也在隨時(shí)間在轉(zhuǎn)變,軟件開(kāi)發(fā)人員的日子也將越來(lái)越好過(guò),就像.NET CLR4.0的調(diào)試模型的轉(zhuǎn)變,是一點(diǎn)點(diǎn)的變化最終給你全新的體驗(yàn),同時(shí)還保持著高度兼容性.
Visual Studio是非常重量級(jí)產(chǎn)品,所以沒(méi)有足夠需求以及時(shí)間,64位版發(fā)行的還不是很迫切,必境目前Visual Studio 2010可以很好的運(yùn)行在x64位系統(tǒng)的開(kāi)發(fā)與調(diào)試中,而且不會(huì)影響性能,何樂(lè)而不為呢...
原文鏈接:http://www.cnblogs.com/ioriwellings/archive/2010/12/22/1913983.html
【編輯推薦】