Visual Studio距離支持C++11/14更近了

jopen 11年前發布 | 18K 次閱讀 Visual Studio

首先讓我們明確:是的,作為微軟承諾支持標準C/C++的一部分,Visual Studio 即將提供許多 C99 和C++ 11 特性(例如可變參數模板)。不過用戶需要升級到 Visual Studio 2013 才能夠與這些特性見面。

        負責微軟開發部門的全球副總裁S.Somasegar 發布了一份路線圖,展現了有關遵循C++11/14 以及集成特定的 C99 標準的規劃。以 C++ 為開始,Somasegar 通過微軟的資深同事(也是合伙項目經理)Herb Sutter 分享了這一聲明:

“Visual C++ 瞄準了C++14,因此我們將把C++11 和C++14 中的全部新特性作為一整套工作來完成。我們將實現全部特性,但我們將采用‘最有價值的部分最快交付給客戶’的次序來實現。這意味著我們將支持全部 C++11 和C++14 內容,但部分高價值的C++14 特性——例如泛型的 lambda 表達式(generic lambdas)——會比其他一些C++11 特性更先問世。”

</blockquote>

        C++11 和C++14 特性并不是僅有的新增內容,VS2013 的 RTM 版本(交付廠商版)中帶有的 VC++ 編譯器還將包含 C99 標準的元素,例如:變量聲明、_Bool、復合文字和指定初始化程序。對于從事許多跨平臺項目的開發者來說,對 C99 的支持非常重要; Somasegar 以 FFmpeg 能夠在 VS2013 中編譯為例子,展示了 VS2013 對 C99 的支持。

Visual Studio距離支持C++11/14更近了

        Stephan T.Lavaej 是從事 Visual C++ 庫方面工作的微軟高級開發者,他詳細介紹了 在 VS2013 預覽版/RTM 版及未來版本中值得期待的內容。并且 Lavavej 還表示在 VS2013 預覽版中的標準模板庫(STL)已經過重寫,以利用這些C++11 特性:顯式轉換、運算符、初始化器列表、作用域內枚舉以及可變參數模板。在 VS2013 RTM 版本中,別名模板和刪除的函數也將得到利用。STL 的許多領域都將被重寫,而且看起來這套實現不僅從 C++ 技術中獲益,還將得益于技術債務的移除。

        這些改進相結合,改善了編譯時并減少了編譯器內存消耗。Lavaej 提供了有關粗略基準測試的部分細節,但他聲明編譯器團隊在 2013 年 3 月對編譯器進行了重大修訂,因此這些基準測試并不包含在這篇文章中。盡管如此,他認為可變參數模板的結合仍舊是一個意義重大的改進。

        Bug 修復、STL 變更以及編譯器特性都將作為 VS2013 的一部分發布。Lavavej 解釋道: 考慮到復雜性因素以及為了在正式發布版中提供更好的測試資源,微軟不會這些改進放在 VS2012 的一份升級中。Lavavej 提供了一份內容豐富列表,列出了修復的各種類型的錯誤(基于 C++ 和 STL 支持)。對那些努力想要知道 VS2013 中是否會包含某個特定補丁的人來說,這份列表信息量很大。

        鑒于到大量對話都圍繞著未來的 Visual Studio 升級(相對于主線的 RTM 版本)中將包含什么,尋求對C++11/14 支持的開發者應該聚焦于 VS2013 RTM 版本中包含哪些內容。如果計劃中包含一個后 RTM 的社區技術預覽版(CTP,又稱作阿爾法版本),那么開發者要想獲得像諸如C++14 泛型的 lambda 表達式這樣的特性,需要做好購買 VS2013+N 的心理準備。

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!