A GCC fordító új verziója 9.1 már megjelent

gcc-compiler-9.1

A GCC fordító új verziója néhány nappal ezelőtt elérhetővé vált új funkciókkal és hibajavításokkal.

A GNU GCC projektcsapata szerint ez az új verzió, A 9.1-es verzió a fordító egyik fő verziója Fontos új szolgáltatásokat tartalmaz, amelyek nem érhetők el a GCC 8.x vagy korábbi verzióiban. A GCC 9.1-nek új nyelvi funkciókat kell hoznia, új optimalizációk és a szoftver néhány teljesítményjavítása.

Az ÖET-ről

GCC egy fordítói gyűjtemény a GNU projekt hozta létre. Pontosabban egy ingyenes szoftver képes különféle programozási nyelvek összeállítására, beleértve a C, C ++, Objective-C, Java, Ada és Fortran programokat.

Azt is meg kell jegyezni, hogy a legtöbb ingyenes szoftver fejlesztésére használják. A legfrissebb fordítói kiadás 2018 májusáig nyúlik vissza, a 8.1 verzió.

Jakub Jelinek, a Red Hat fejlesztője kifejtette, hogy a GCC 8.1 egy jelentős kiadást jelentett, amely fontos új funkciókat hozott, amelyek nem érhetők el a GCC 7.x és a GCC korábbi verzióiban.

Ezen a ponton a C ++ kezelőfelület kísérleti támogatást nyújtott egyes C ++ 2a függvényekhez a -std = c ++ 2a és -std = gnu ++ 2a opciókkal.

A 8.2-es verzióban az általános továbbfejlesztési szinten az LTO (link time optimalization) teljesítményproblémákat kijavították a particionáló algoritmus túlcsordulása miatt a nagy bináris fájlok létrehozása során.

A javítások a 8.x ágban folytatódtak a fordító 8.3-as verziójának kiadásával tavaly februárban. Ez a kiadás egy hibajavító kiadás volt, amely a GCC 8.2 regresszióinak javításait tartalmazta a GCC korábbi kiadásaihoz képest. A GCC csapata május 3-án új fiókot indított, kiadva a 9. verziót.

Mi újság a GCC 9.1-ben?

Ebben a verzióban C ++ 17 támogatás bevezetve, mivel a fordító 8.1 verziója már nem tapasztalhatól. Ezért a C ++ 17 támogatása stabil.

A felhasználói felület A C ++ a C ++ 17 teljes nyelvét valósítja meg és a C ++ szabványos könyvtár támogatása a végéhez közeledik.

El a front-end és a C ++ könyvtár számos más, a C ++ 2a kódolású funkcióval is rendelkezik. Ezenkívül a GCC új felülettel rendelkezik a D nyelv számára, és most részben támogatja az OpenMP 5.0-t, és szinte teljes mértékben integrálja az OpenACC 2.5 támogatását.

Sokak számára a GCC 9 a fordító erőteljes változata, amely remek funkciókat és fejlesztéseket kínál a fejlesztői teljesítmény javítása érdekében.

A GCC 9.1 számos új funkciója között szerepel:

  • Támogatás a D programozási nyelvvel írt kód fordításához;
  • Új AMD GCN GPU háttérprogram került a GCC-be. A megvalósítás jelenleg az egyszálú programok összeállítására korlátozódik.
  • Az LRA alapértelmezés szerint engedélyezve van az ARC célhoz. Ezt az -mlra vezérelheti.
  • Támogatás a képkódhoz, valamint az elágazási és indexsűrűség-utasításokhoz
  • A GCC-hez hozzáadódott egy új háttér-C-SKY V2 processzor.
  • Az Intel MPX támogatása megszűnt.
  • Új háttérprogram került hozzá az OpenRISC processzor támogatásához.
  • Az OpenACC 2.5 specifikáció támogatása majdnem teljes.
  • A GCC belső "selftest" csomagja már működik a C ++ és C esetén (a fordító hibakereső verzióiban).
  • Javult a Fortran támogatása az ÖET-ben is. Mostantól az aszinkron I / O és egyéb szolgáltatásokat kezeli.
  • Az eljárásközi optimalizálás (OPI), a profil alapú optimalizálás, a kapcsolási idő optimalizálása (LTO), valamint számos más optimalizálás a jobb kódminőség biztosítása érdekében.
  • A Firefox 66 és a LibreOffice 6.2.3 teljes fordítási ideje egy 8 magos gépen körülbelül 5% -kal csökkent a GCC 8.3-hoz képest. Az LTO objektumfájlok mérete 7% -kal csökken.
  • Az LTO kapcsolat ideje 11% -kal javul a 8 magos gépeknél, és drámai módon fejlődik a párhuzamosabb építési környezetek számára. A kapcsolati idő optimalizálásának soros szakasza 28% -kal gyorsabb és 20% -kal kevesebb memóriát fogyaszt. A Parallel Stage most 128 helyett 32 partíciót oszt meg, és 30% -kal csökkenti az egyes felhasználók memóriahasználatát.
  • A "-fdiagnostics-format = json" új opciót vezették be a géppel olvasható formátumú diagnosztikához.

forrás: https://gcc.gnu.org