Kompilátor GCC 10.1 je tu a toto sú jeho hlavné novinky

Po roku vývoja bolo zverejnené vydanie novej verzie z voľnej zostavy Prekladače GCC 10.1, ide o prvé významné vydanie v novej pobočke GCC 10.x.

Podľa novej schémy číslovania verzií sa počas procesu vývoja používala verzia 10.0 a krátko pred vydaním GCC 10.1 bola pobočka GCC 11.0 už rozvetvená, na základe čoho sa bude formovať nasledujúca verzia. .

Pre tých, ktorí nie sú oboznámení s GCC (GNU Compiler Collection), by mali vedieť, že naprToto je sada prekladačov vytvorených projektom GNU, je slobodný softvér a je distribuovaný nadáciou Free Software Foundation (FSF) na základe všeobecnej verejnej licencie GPL.

Tieto prekladače sú široko používané vo väčšine systémov Unix do tej miery, že sa považujú za štandard pre operačné systémy Unix a deriváty otvoreného zdroja a tiež za proprietárne, ako napríklad Mac OS X.

GCC vyžaduje, aby množina aplikácií známych ako binutils vykonávala úlohy, ako je identifikácia súborov objektov alebo získanie ich veľkosti na kopírovanie, preklad alebo výpis, odkazovanie alebo odstraňovanie nepotrebných symbolov.

Čo je nové v GCC 10.1

GCC 10.1 vyniká implementáciou mnohých inovácií jazyka C ++ vyvinuté pre štandard C ++ 20, vylepšenia týkajúce sa budúceho štandardu v jazyku C (C2x), nové optimalizácie v backendoch kompilátora a experimentálna podpora pre režim statickej analýzy.

Pre jazyky C, C ++ a Fortran je implementovaná špecifikácia paralelného programovania OpenACC 2.6, ktorá definuje nástroje na stiahnutie na GPU a špecializovaných procesoroch, ako je NVIDIA PTX.

Implementácia normy Otvorte MP 5.0 (Open Multi-Processing), ktorá definuje API a metódy využívania metód paralelného programovania vo viacjadrových a hybridných systémoch (CPU + GPU / DSP) so zdieľanou pamäťou a vektorizačnými jednotkami (SIMD), je takmer hotový.

Funkcie sa pridávajú ako podmienené výrazy direktívy lastprivate, scan and loop, order and use_device_addr výrazy. Pre OpenMP a OpenACC, bolo pridané podpora sťahovania na XNUMX. a XNUMX. generácii AMD Radeon GPU.

Pre jazyky C bola pridaná funkcia „access“ na popis prístupu k funkcii objektov odovzdaných odkazom alebo ukazovateľom a na priradenie týchto objektov k celočíselným argumentom obsahujúcim informácie o veľkosti objektov.

Pre prácu v spojení s „access“ je implementovaný atribút „type“ na zisťovanie nesprávneho prístupu z užívateľských funkcií, napríklad pri zápise hodnôt do oblasti mimo hraníc poľa. Atribút symver bol pridaný aj k prepojeniu znakov v súbore ELF na konkrétne čísla verzií.

Pre jazyk C ++ bolo implementovaných asi 16 zmien a inovácií vyvinutý v štandarde C ++ 20 vrátane kľúčového slova „constinit“ pridanie a implementácia podpory pre rozšírenie šablón «pojem»To vám umožní definovať množinu požiadaviek na parametre šablón, ktoré počas kompilácie obmedzujú množinu argumentov, ktoré je možné brať ako parametre šablóny.

Tiež sú zvýraznené vylepšené medziprocesové optimalizácie, IPA-SRA bol prepracovaný tak, aby fungoval počas viazania, a okrem iného teraz odstraňuje nepoužívané vypočítané a vrátené hodnoty.

V optimalizačnom režime „-O2“ je povolená možnosť „-finline-functions“, ktorá je prekonfigurovaná pre kompaktnejší kód ako pre výkon.

The vylepšená optimalizácia odkazov (LTO), sa pridal nový spustiteľný súbor lto-dump na výpis informácií na súboroch objektov kódovaných bajtmi LTO. V paralelných prechodoch LTO je možné automaticky určiť počet súbežných úloh vykonávania a ak to nie je možné určiť, použiť informácie o počte jadier CPU ako faktor paralelizácie.

Vylepšil sa optimalizačný mechanizmus a je založený na výsledkoch profilovania kódu (PGO), ktorý generuje optimálnejší kód na základe analýzy charakteristík vykonania kódu.

Ak sa chcete dozvedieť viac, môžete skontrolovať podrobnosti tohto vydania Na nasledujúcom odkaze. 


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.