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