Microsoft 的 Visual Studio 基本上算是 Heresy 知道功能最完整、相對起來最好用的程式開發環境了~而目前他的最新版本,則已經出到 2012 版、內部編號則是 11.0(官網)。而 Heresy 在之前「開發者預覽版」、Beta 版、以及 Release Candidate 的時候,也都有寫過簡單的介紹。
以 Heresy 主要在用的 Visual C 來說,除了針對平行化的加強(包含偵錯工具)、以及 GPGPU(C AMP)的支援外,MSVC11 另外也針對 C 11 的新功能,再做進一步的補完。當然,其他還有很多改變,完整的更新列表可以參考 MSDN 的《What’s New for Visual C in Visual Studio 2012》。
而從 Visual Studio 2012 發佈到現在,微軟也推出了兩個 CTP(Community Tech Preview、社群技術預覽版),讓使用者可以更新了~這邊大概來介紹一下:
Visual Studio 2012 Update 1 CTP 4
新版的 MSVC11 雖然做了很多加強,但是也有一些缺點…一個很重要的問題,就是新的開發環境所編譯出來原生 C 程式,並不能在 Windows Vista 之前的電腦,也就是 Windows XP 上執行!基本上,這個應該算是微軟策略上的問題(主要應該是因為核心的 Windows API 換成 Windows 8 SDK 的…),不過由於有相當多的使用者反彈,所以最後,微軟還是決定讓 MSVC11 可以編譯出支援 Windows XP 的程式。
這方面的訊息,可以參考《CTP of Windows XP Targeting with C in Visual Studio 2012》,他們所釋出的更新程式名為「Visual Studio 2012 Update 1 CTP 4」,基本上還是一個預覽版,下載的網址則是:
在安裝完成後,VS 專案屬性裡的「Platform Toolset」除了本來的「Visual Studio 2012 (v110)」外,會在多出一個「Visual Studio 2012 – Windows XP (v110_xp)」的選項,基本上這個就是讓 VC11 可以用新的編譯器、函式庫,編譯出可以在 Windows XP 上執行的執行檔的選項了~當然,這樣建置出來的程式,在 Windows 7 / 8 上,也是可以正確制執行的。
不過相對的,他會少掉一些新的功能…例如依賴新版 Direct X 的 C AMP 會無法使用,Static Analysis、Remote Debugging 等功能,也都會無法使用。但是如果希望用新的環境來編譯程式的話,這個應該還是可以考慮的。
Visual C Compiler November 2012 CTP
官方的介紹文章是《Announcing November CTP of the C compiler, now with more C 11》,更新的內容,主要是針對 C 11 的標準,再做進一步的強化~他的下載網址是:
而新支援的標準,則包括了:
- Variadic templates
- Uniform initialization and initializer_lists
- Delegating constructors
- Raw string literals
- Explicit conversion operators
- Default template arguments for function templates
基本上…Heresy 是覺得這些功能,在 C 11 裡面,也算是比較細節的東西,所以還沒認真研究過…有興趣的話,可以看看維基百科的介紹,或是微軟的介紹影片。
不過,安裝了這個更新後,其實和前面的 WinXP 支援一樣,在 Visual C 專案屬性的 Platform Toolset 裡,會多出一個「Microsoft Visual C Compiler Nov 2012 CTP (v120_CTP_Nov)」,要選這項來建置整個專案,才能用到新的語法;而且…在使用上也還有一些限制…有興趣的話,建議去看官方的介紹吧~
另外,在微軟 Visual C Team 的 blog,也另外有一篇《November CTP, isocpp.org, Standard C Foundations Announced Today》,提了一些 C 相關的東西。裡面也有提到,下一個標準應該會是 24 個月後、預計會是 C 14。
現在似乎多了一個新的 C 組織、「Standard C Foundation」;他是以 Microsoft、Intel、Google…等公司所組成的非營利組織,其目的是「to promote the understanding and use of Standard C on all compilers and platforms」。它的官方網站是:
對 C 有興趣的話,應該是可以到這邊晃晃…