Programovanie

Kompilátor GCC GNU pridáva podporu C ++ 17

S verziou GCC (GNU Compiler Collection) 7.1, ktorá bola vydaná tento týždeň, získava platforma včasnú podporu pre štandard C ++ 17 a vylepšenia diagnostiky.

Verzia 7.1 má rozhranie C ++ s experimentálnou podporou všetkých špecifikácií návrhu verzie C ++ 17. The -std = c ++ 1z a -std = gnu ++ 1z možnosti a libstdc ++ sú podporované a knižnica má implementovaných väčšinu funkcií konceptu knižnice C ++ 17. Staršie vydanie GCC 6.1 sa riadilo štandardom C ++ 14.

Séria GCC 7 sa líši od predchádzajúcich vydaní predvoleným používaním LRA (Local Register Allocator) pre nové ciele a ukončením podpory rozšírení Cilk + do jazykov C a C ++. Niektoré správania boli tiež uvoľnené, aby sa zlepšila kompilácia alebo výkon za behu. Niektoré zmeny však môžu pri prenose na GCC 7 „spôsobiť smútok“, podľa poznámok k vydaniu, ktoré citujú problémy s preprocesorom a C, ako aj s jazykom C ++, napríklad prísnejšie pravidlá pre šablóny. „GCC 7 už neprijíma rôzne nesprávne tvarované konštrukcie zahrnujúce použitie šablón,“ uvádzajú sa poznámky.

GCC 7.1 tiež podporuje emitovanú diagnostiku vrátane vylepšených umiestnení a vylepšenia optimalizátora sa objavujú vo všetkých intra- a interprocedurálnych optimalizáciách, optimalizáciách časov spojenia a rôznych cieľových koncových bodoch, ako sú napríklad pridanie priechodu na zlúčenie obchodu, optimalizácia zdvíhania kódu, rozdelenie slučiek, a vylepšenia zmršťovania. Okrem toho môže dezinfekčný prostriedok adresy GCC teraz hlásiť použitie premenných potom, čo opustia svoj rozsah. GCC je možné nakonfigurovať na odľahčenie OpenMP API do GPGPU Nvidia PTX, ale niektoré kódy, ktoré boli skompilované so staršími verziami GCC, môžu vyžadovať úpravy. Kolekcia obsahuje klientske rozhrania pre jazyky C, C ++, Objective-C, Fortran, Ada a Go.

$config[zx-auto] not found$config[zx-overlay] not found