這個新版本的GCC編譯器 幾天前提供了新功能和錯誤修復。
根據GNU GCC項目小組的說法,這個新版本 9.1版是主要的編譯器版本 包含GCC 8.x或更早版本中不可用的重要新功能。 GCC 9.1應該帶來新的語言功能,該軟件的新優化和一些性能改進。
關於海灣合作委員會
GCC 是一個編譯器集合 由GNU項目創建。 它更確切地說是一個免費軟件 能夠編譯各種編程語言,包括C,C ++,Objective-C,Java,Ada和Fortran。
還應該注意的是 用於開發大多數自由軟件。 最新的主要編譯器版本可追溯到2018年8.1月的XNUMX版。
紅帽開發人員Jakub Jelinek解釋說,GCC 8.1代表了一個主要版本,帶來了GCC 7.x和早期版本的GCC中不可用的重要新功能。
至此,C ++前端已使用-std = c ++ 2a和-std = gnu ++ 2a選項為某些C ++ 2a函數提供了實驗性支持。
在8.2版的總體增強級別中,已修復了在創建大型二進製文件期間由於分區算法溢出而導致的LTO(鏈接時間優化)性能問題。
去年8月,編譯器版本8.3繼續在8.2.x分支上進行修復。 此版本是一個錯誤修復版本,與早期版本的GCC相比,該版本包含GCC XNUMX中用於回歸的補丁。 GCC團隊於3月9日推出了新分支,發布了版本XNUMX。
GCC 9.1中有哪些新功能?
在這個版本中 由於不再體驗編譯器版本17,因此引入了C ++ 8.1支持l。 因此,對C ++ 17的支持現已穩定。
的界面 C ++實現了C ++ 17的全部語言 對C ++標準庫的支持即將完成。
El 前端和C ++庫還具有從C ++ 2a編碼的許多其他功能。 此外,GCC具有D語言的新界面,現在部分支持OpenMP 5.0,並且幾乎完全集成了對OpenACC 2.5的支持。
對於許多人來說,GCC 9是編譯器的強大版本,它提供了強大的功能和增強功能以提高開發人員的性能。
GCC 9.1的許多新功能包括:
- 支持編譯使用D編程語言編寫的代碼;
- 新的AMD GCN GPU後端已添加到GCC。 目前,該實現僅限於編譯單線程程序。
- 現在默認情況下為ARC目標啟用了LRA。 可以通過-mlra進行控制。
- 增加了對圖像代碼以及分支和索引密度語句的支持。
- 在GCC中添加了新的針對C-SKY V2處理器的後端。
- 英特爾MPX支持已被刪除。
- 為OpenRISC處理器支持添加了新的後端。
- 對OpenACC 2.5規範的支持幾乎已經完成。
- 現在,GCC的內部“自測”包適用於C ++和C(在編譯器的調試版本中)。
- GCC中的Fortran支持也得到了改進。 現在,它可以處理異步I / O和其他功能。
- 過程間優化(OPI),基於配置文件的優化,鏈接時間優化(LTO)以及許多其他優化,以確保更好的代碼質量。
- 與GCC 66相比,在6.2.3核計算機上的Firefox 8和LibreOffice 5的總編譯時間減少了大約8.3%。 LTO目標文件的大小減少了7%。
- 在11台核心計算機上,LTO鏈接時間縮短了8%,並且在更並行的構建環境中發展迅速。 鏈接時間優化的串行階段加快了28%,消耗的內存減少了20%。 現在,Parallel Stage可以對128個分區進行分區,而不是32個分區,並且每個用戶的內存使用量減少30%。
- 引入了新選項“ -fdiagnostics-format = json”,用於以機器可讀格式進行診斷。