Тут є компілятор 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 ++ 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, було додано підтримка завантаження на графічних процесорах AMD Radeon XNUMX-го та XNUMX-го поколінь.

Для мов C додано функцію "доступ", яка описує доступ до функції об'єктів, переданих за допомогою посилання або вказівника, та для асоціювання цих об'єктів із цілочисельними аргументами, що містять інформацію про розмір об'єктів.

Для роботи спільно з «доступом» атрибут «тип» реалізований для виявлення неправильного доступу з користувацьких функцій, наприклад, під час запису значень у область, що виходить за межі масиву. Атрибут symver також був доданий для посилання символів у файлі ELF на конкретні номери версій.

Для С ++ впроваджено близько 16 змін та інновацій розроблений у стандарті C ++ 20 включаючи ключове слово "constinit" додана та реалізована підтримка розширення шаблонів «концепція»Це дозволяє визначити набір вимог до параметрів шаблону, які під час компіляції обмежують набір аргументів, які можна взяти за параметри шаблону.

Також підкреслено посилені міжпроцедурні оптимізації, IPA-SRA було перероблено для роботи під час прив'язки, і серед іншого тепер видаляє невикористані обчислені та повернені значення.

В режимі оптимізації "-O2" увімкнено параметр "-finline-functions", який переналаштовується для більш компактного коду, ніж для продуктивності.

Файл розширена оптимізація посилань (LTO), sта додав новий виконуваний файл lto-dump для скидання інформації на байт-кодованих об'єктних файлах LTO. У паралельних передачах LTO кількість одночасних завдань виконання може бути визначена автоматично, і якщо це неможливо визначити, використовувати інформацію про кількість ядер ЦП як фактор розпаралелювання.

Покращено механізм оптимізації і базується на результатах профілювання коду (PGO), який генерує більш оптимальний код на основі аналізу характеристик виконання коду.

Якщо ви хочете дізнатися більше про це, Ви можете перевірити деталі цього випуску У наступному посиланні. 


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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