微軟稱C++將得到Visual Studio 2010更多支持
微軟宣稱,在這即將發布的正式版中,微軟將給C++開發者更多的關懷和支持。“從Visual studio產品發展情況看,相較與對其它語言的支持和改進,也許我們的確顯得有些冷落了C++開發者,但從Visual studio 2010開始,不管是從IDE到編譯器,C++開發者都能在這個工具中重新找回自己應該在的位置。” Visual Studio 2010重要新功能一覽
記者了解到,C++曾經是Visual Studio 6.0中的***語言,但是微軟從2000年開始推行.NET戰略以來,其核心及缺省的編程語言是C#,所以微軟的開發工具Visual Studio系列,多年來對C++開發者的關懷和C#的開發者相比,一直相去甚遠。C++的地位不斷下滑,被后來居上的C#搶了風頭,很多鐘情于C++的程序員頓感失落和惆悵,甚至都開始懷疑C++的前途問題。
ITPUB網站微軟技術頻道的專欄作者、5屆MVP陳良喬談到,“多年以來,在Visual Studio所支持的各種編程語言中,C++就像被打入了冷宮。從Visual Studio 6.0到***的Visual Studio 2008,其間經過了多次版本更迭,Visual C#不斷推陳出新,就連昔日受到程序員們鄙視的Visual Basic都有很多新的特性推出,但是Visual C++每次都是幾個不咸不淡的小更新,沒有革命性的變化。在Visual Studio所支持的各種語言中,越來越覺得Visual C++是后媽生的?!?/P>
陳良喬
比如:“ MSBuild不能很好地支持Visual C++項目;C++語言本身沒有大的改進,新的標準沒有出現;從Visual Studio .net 到Visual Studio 2008,很少有關于Visual C++的更新和改進;Visual C++的類圖不能編輯,無法動態生成代碼;可憐的Visual C++ Feature Pack居然要通過SP來發布,Visual Studio發布的時候都不等等它;IDE很多新的功能只能在Visual C#和Visual Basic中實現,例如Visual C++項目不支持“導出模板”等;MSDN中的示例代碼很多都是Visual C#的,很少有Visual C++的示例代碼?!彼信e道。
曾經在編譯器方面的改進
上面是從開發工具的使用層面而言,不過,從編譯器角度而言,微軟在C++方面還是做了很多的工作的。
當年微軟推出的Visual Studio.net 2003 C++編譯器已經能夠和ISO C++標準保持98%的一致(這比以前任何一個版本都更加接近)和一體化的語言支持特性,如局部模板特定化;同時也包括了增強的緩沖區安全檢查和改進的編譯器診斷功能。
C++的開發者也能像使用C#和Visual Basic.NET的開發者一樣,通過簡單的拖放操作,就能生成穩健的Windows窗體應用程序,而且,這個編譯器還對Intel Pentium 4和AMD Athlon處理器作了優化處理。
到了Visual C++ 2005,微軟又加入了更多的改進。比如,有了一套新的語法,不但顯得更“優雅”,而且更強大;它擁有新的優化技術,可使程序的速度***提高30%;同時新的編譯模式,可保證在Microsoft .NET Framework之上生成完全遵從CLI(Common Language Infrastructure)的可驗證代碼;新的interop模式,可提供本地與托管代碼的無縫融合。相對于前兩個版本,新編譯器還包括了一個增強版本的緩沖區安全檢查選項,而且對C++程序普遍使用的庫,也有新的注重安全的版本。Visual C++ 2005對基于Intel Itanium和AMD64的64位平臺,提供了對OpenMP標準的支持,并且修正了一些混合DLL加載的問題,對Double P/Invoke的性能問題,提供了自動運行時消除。關于類似的增強和改進還有很多很多,正如一個C++架構師說的那樣,“C++終于站在了它應該站的位置上”。
而今天,微軟試圖將Visual Studio 2010打造成跟Visual Studio 6一樣的經典開發工具。所以,除了在語言層面開始支持***的C++標準外,在IDE以及MFC庫等方面,微軟也下了很大的力氣。Visual C++不僅改善了IDE的效率,同時也引入了很多新的特性,期待這些IDE增強能夠切實的提高程序員們的開發效率。
資料:Visual Studio 2010中的Visual C++增強:
改進的項目系統支持
在上一回我們提到過,在以往的Visual Studio版本中,MSBuild不能很好地支持Visual C++項目,微軟轉而提供了一個替代的專門解決辦法:VCBuild。在Visual Studio 2010中,微軟終于改進了這一點,將VCBuild的眾多特有的功能集成到MSBuild中,并且使用MSBuild替代了VCBuild。雖然VCBuild有很多針對Visual C++項目的實用功能,但是,新的MSBuild不僅繼承了這些功能,還提供了更多的新特性,吸引用戶升級到這一新的構建平臺上來:
診斷功能: MSBuild增強了它的診斷功能,以幫助用戶更加容易地發現和調試構建錯誤。例如,MSBuild可以幫助你決定如何以特定的順序編譯某些源文件,因為MSBuild可以檢測這些文件之間的依賴性。
可擴展性: 使用MSBuild,用戶可以為某些特定的平臺構建不同的解決方案。另外,也可以在構建過程中,使用不同版本的編譯器。連接器等,使得我們的解決方案更具擴展性。
集成: 我們可以將我們的Visual C++項目添加到一個已經存在的MSBuild環境中。例如,我們可以將一個新的Visual C++項目集成到一個已經存在的MSBuild環境中,雖然這個MSBuild環境包含的是使用.NET Framework的Visual C#和Visual Basic項目。
Multi-Targeting曾經作為Visual Studio的一個重要特性,受到微軟的大力推廣。因為它使得“一次編碼,多個平臺運行”成為可能。這一特性給程序員們帶來了極大的便利,再也不用為目標機器混亂的平臺而頭疼。但是在之前的Visual Studio中,Multi-Targeting特性只在托管語言中得到支持,可以針對不同的.NET Framework版本?,F在在Visual Studio 2010中,隨著MSBuild的應用,本地代碼的Multi-Targeting也成為可能。
【編輯推薦】