GCC 4.7 Release Series
Changes, New Features, and Fixes
GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由 GNU 開發的程式設計語言編譯器。GCC 使用 GPL 與 LGPL 許可證,是 GNU 計劃的關鍵區段。GCC 目前可處理 C++、Fortran、Pascal、Objective-C、Java以及 Ada 等語言。現在是 Linux/Unix、Mac
等作業系統的標準編譯器。
該版本在4.6.x的基礎上,進行了大量的改進,現在C、C++和Fortran編譯器支援3.1版本的OpenMP規範(用於共用記憶體並行系統的多線程程式設計的一套指導性注釋)。該版本還針對各個語言進行了功能改進,主要包括:
針對C的功能改進
- 支援ISO C11標準中的更多特性。除了之前的-std=c1x和-std=gnu1x選項外,GCC現在還支援-std=c11和-std=gnu11選項。
針對C++的功能改進
- G++現在支援-std=c++11、-std=gnu++11和-Wc++11-compat選項,這些選項的作用相同。
- 實現了C++11的extended friend文法。
- 實現了C++11的重寫控制。
- 實現了C++11的非待用資料成員初始化。
- 實現了C++11的使用者定義資料標識。
- 實現了C++11的別名聲明。
- 實現了C++11的委託建構函式。
針對執行階段程式庫(libstdc++)的改進
- 實驗性地支援新的ISO C++11標準。
- 增加了--enable-clocale=newlib配置選項。
- 用於無序關聯容器的偵錯模式迭代器。
- 通過包含<unistd.h>來避免破壞全域命名空間。
針對Go語言的改進
- 現在GCC實現了Go1語言標準,目前對於Go的支援尚不完全,預計將在4.7.1版本中進行改善。
- Go已經在GNU/Linux和Solaris平台上進行了測試,在其他平台中也可能會很好地運行。
關於改進的詳細資料可參閱:GCC
4.7 Changes http://gcc.gnu.org/gcc-4.7/changes.html
使用GCC 4.7的一些注意事項:
- 一些針對舊系統的支援功能以及最近沒有被維護或檢驗的GCC目標端已經被放棄,在下個版本中將會永久刪除這些代碼。
- AVR端的libgcc已得到改善,它的multilib架構得到了增強。因此,所有應用程式的對象必須在GCC 4.6.x或4.7.0中進行編譯。
從之前GCC版本遷移至4.7版,可參閱:遷移指南 http://gcc.gnu.org/gcc-4.7/porting_to.html
GCC 4.7下載:http://gcc.gnu.org/mirrors.html :
轉自 http://www.iteye.com/news/24628