Компилаторът GCC 10.1 е тук и това са основните му новости

След една година развитие беше публикувано изданието на новата версия от безплатния комплект Съставители на GCC 10.1, това е първата значима версия в новия клон на GCC 10.x.

Съгласно новата схема за номериране на версиите, по време на процеса на разработка се използва версия 10.0 и малко преди пускането на GCC 10.1, клонът GCC 11.0 вече е разклонен, на базата на който ще се формира следващата версия. значение на GCC 11.1.

За тези, които не са запознати с GCC (GNU Compiler Collection), трябва да знаят, че eТова е набор от компилатори, създаден от проекта 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, който определя инструменти за изтегляне на графични процесори и специализирани процесори като NVIDIA PTX.

Прилагането на стандарта Отворете MP 5.0 (Open Multi-Processing), който дефинира API и методите за използване на паралелни методи за програмиране в многоядрени и хибридни системи (CPU + GPU / DSP) със споделена памет и векторизационни единици (SIMD), почти е завършен.

Функциите се добавят като условни изрази директиви lastprivate, сканиране и цикъл, изрази order и use_device_addr. За OpenMP и OpenACC, беше добавено поддръжка за изтегляне на XNUMX-то и XNUMX-то поколение графични процесори AMD Radeon.

За езиците C е добавена функцията "достъп", за да се опише достъпът до функцията на обекти, предадени чрез препратка или указател и да се свържат тези обекти с цели числа, съдържащи информация за размера на обектите.

За да работи съвместно с "достъп", атрибутът "тип" е реализиран за откриване на неправилен достъп от потребителски функции, например при записване на стойности в област извън границите на масива. Атрибутът symver също е добавен за свързване на символи във файла ELF към конкретни номера на версиите.

За C ++ са приложени около 16 промени и иновации разработен в стандарта C ++ 20 включително ключовата дума "constinit" добавяне и внедряване на поддръжка за разширяване на шаблони «понятие»Това ви позволява да дефинирате набор от изисквания за параметрите на шаблона, които по време на компилацията ограничават набора от аргументи, които могат да бъдат взети като параметри на шаблона.

също засилени междупроцедурни оптимизации са подчертани, IPA-SRA е преработен, за да работи по време на свързване и освен всичко друго сега премахва неизползваните изчислени и върнати стойности.

В режим на оптимизация "-O2" е активирана опцията "-finline-functions", която е преконфигурирана за по-компактен код, отколкото за производителност.

The подобрена оптимизация на връзката (LTO), sи добави нов изпълним файл lto-dump за изхвърляне на информация на LTO байтово кодирани обектни файлове. При LTO паралелни проходи е възможно автоматично да се определи броят на едновременните задачи за изпълнение и, ако това не може да бъде определено, да се използва информация за броя на ядрата на процесора като фактор на успоредяване.

Подобрен е механизмът за оптимизация и се основава на резултатите от Профилиране на кода (PGO), което генерира по-оптимален код въз основа на анализ на характеристиките на изпълнението на кода.

Ако искате да научите повече за това, можете да проверите подробностите за тази версия В следващия линк. 


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.