GCC 10.1編譯器在這裡,這是它的主要新穎之處

經過一年的發展 新版本發布了 從免費組 GCC 10.1編譯器,這是GCC 10.x新分支中的第一個重要版本。

根據新的版本編號方案,在開發過程中使用了版本10.0,並且在GCC 10.1發布之前不久,已經分支出了GCC 11.0分支,在此基礎上將形成下一個版本。GCC 11.1的意義。

對於那些不熟悉GCC(GNU編譯器集合)的人,應該知道這是由GNU項目創建的一組編譯器是自由軟件,由自由軟件基金會(FSF)根據GPL通用公共許可證進行分發。

這些編譯器廣泛用於大多數Unix系統上 在某種程度上,它們被視為Unix操作系統,開放源代碼的衍生版本以及專有的(例如Mac OS X)的標準。

GCC需要一組稱為binutils的應用程序來執行任務,例如識別目標文件或獲取其大小以進行複制,翻譯或創建列表,鏈接它們或刪除不必要的符號。

GCC 10.1的新功能

GCC 10.1在實現C ++語言的許多創新方面脫穎而出 為C ++ 20標准開發,與將來的C語言標準(C2x)相關的改進, 編譯器後端和實驗支持方面的新優化 用於靜態分析模式。

對於C,C ++和Fortran語言,實現了OpenACC 2.6並行編程規範,它定義了GPU和專用處理器(例如NVIDIA PTX)上的下載工具。

執行標準 打開 MP 5.0 (Open Multi-Processing),它定義了在具有共享內存和矢量化單元(SIMD)的多核和混合系統(CPU + GPU / DSP)中使用並行編程方法的API和方法, 它快完成了。

功能已添加為條件表達式 lastprivate,scan和loop指令,order和use_device_addr表達式。 對於OpenMP和OpenACC,它已添加 支持在第XNUMX代和第XNUMX代AMD Radeon GPU上下載。

對於C語言,已添加“訪問”功能來描述對通過引用或指針傳遞的對象的功能的訪問,並將這些對象與包含有關對像大小的信息的整數參數關聯。

與``訪問''一起使用時,實現了``類型''屬性以檢測來自用戶功能的不正確訪問,例如,在將值寫入數組邊界之外的區域時。 symver屬性也已添加,以將ELF文件中的字符鏈接到特定版本號。

對於C ++,已經實現了約16項更改和創新 以C ++ 20標准開發 包括關鍵字“ constinit” 添加並實現了對擴展模板的支持«概念»這使您可以定義一組模板參數要求,這些要求在編譯期間限制了可以用作模板參數的參數集。

阿德瑪斯 增強了過程間優化, IPA-SRA經過重新設計,可以在綁定期間工作,並且現在可以刪除未使用的計算值和返回值。

在“ -O2”優化模式下,啟用了“ -finline-functions”選項,該選項被重新配置為比性能更緊湊的代碼。

增強型鏈接優化(LTO), s並添加了一個新的可執行文件lto-dump以轉儲信息 在LTO字節編碼的目標文件上。 在LTO並行傳遞中,可以自動確定並發執行任務的數量,如果無法確定,則將有關CPU內核數量的信息用作並行化因子。

優化機制得到改進 並且基於代碼剖析(PGO)的結果,該結果基於對代碼執行特性的分析,可以生成更優化的代碼。

如果您想進一步了解它, 您可以查看此版本的詳細信息 在下面的鏈接中。 


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。