GCC 14.1 je že izšel in to so njegove novice

GCC

Zbirka prevajalnika GNU je nabor prevajalnikov, ki jih je ustvaril projekt GNU. GCC je brezplačna programska oprema in jo distribuira Free Software Foundation pod splošno javno licenco GPL.

La nova različica GCC 14.1 je že izdana med njegovimi izboljšavami in spremembami pa najbolj izstopa nova različica ponuja izboljšave statične analizeali pa tudi varnostne izboljšave, izboljšave optimizacije delovanja, med drugim izboljšave izvajalne knjižnice libstdc++.

GCC 14.1 je označen kot prva večja izdaja nove veje GCC 14.x in po shemi oštevilčevanja različic je bila med razvojem uporabljena različica 14.0 in malo pred izdajo GCC 14.1 je bila veja GCC 15.0 že razdeljena, iz katere naj bi nastala naslednja večja različica, GCC 15.1.

Kaj je novega v GCC 14.1?

V tej novi različici GCC 14.1 Statična analiza je bila izboljšana za jezik C z možnostjo "-fanalyzer", je, da je pri analizi operacij z nizi dodana zaznavanje neskončne zanke s "-Wanalyzer-neskončna-zanka» in dodana posebna opozorila za težave pri preverjanju vnosa z «-Okužen z analizatorjem-*«. Opozorilo "-Wanalyzer-out-of-bounds" je bil prav tako izboljšan za zaznavanje prekoračitve medpomnilnika, Poleg tega je bila podpora za format SARIF razširjena z možnostjo -fdiagnostics-format=, kar olajša ustvarjanje podrobnih poročil za naprednejše statične analize.

Druga nova funkcija, ki jo predstavlja GCC 14.1, je izboljšave izvajalne knjižnice libstdc++, saj je bila dodana podpora za funkcije, kot je std::stacktrace in std::format, kot tudi za optimizirane vhodno/izhodne operacije prek std::print in std::println.

Poleg tega so bili uvedeni nove zmogljivosti pametnega ravnanja s kazalcem s std::out_ptr in std::inout_ptr, kot tudi izboljšave orodij za pretvorbo, kot je npr std::to_string in std::to_wstring, zagotavljanje razvijalcem popolnejšega nabora orodij za upravljanje podatkov in operacije oblikovanja.

Dodane so bile funkcije, povezane s C++23, kot je podpora za mehanizem »Deducing this«, ki omogoča uporabo parametrov z atributom »this« v predlogah in ugotavlja kategorijo izraza, za katerega je poklicana funkcija razreda, je bila implementirana tudi v podobnem način, ki pretvori vse funkcije, ki kličejo funkcije z atributom consteval, v funkcije consteval

prav tako Dodane so bile funkcije, povezane s C++26, na primer, mogoče je uporabiti nizovne literale v kontekstu, kjer se ne uporabljajo za inicializacijo niza znakov in se ne končajo v dobljeni kodi, prav tako je dodana možnost uporabe več spremenljivk nadomestnih znakov z imenom "_" in implicitnih pretvorb oštevilčene vrednosti v aritmetičnih izračunih so bile opuščene.

Od Druge spremembe in izboljšave, ki so bile uvedene v GCC 14.1:

  • Nove možnosti, kot je «–enable-host-pie» za prevajanje izvršljivih datotek v načinu PIE in «–enable-host-bind-now» za dodatne možnosti povezave.
  • Dodana možnost «-finline-stringops» omogočiti spletno razširitev funkcij, kot je npr memcmp, memcpy, memmove in memset, tudi če niso potrebni za optimizacijo.
  • Pri podpori za OpenMP so bile narejene pomembne izboljšave z vključitvijo možnosti, kot je npr -fopenmp-dodeljevalci in podobne direktive defaultmap in posredno.
  • Dodana začetna podpora za predogled specifikacije OpenMP 6.0 in nadaljnja implementacija standardov OpenMP 5.0, 5.1 in 5.2.
  • Izboljšana izvedba specifikacij vzporednega programiranja OpenACC 2.7 in 3.2 za razbremenitev operacij na grafičnih procesorjih in specializiranih procesorjih, kot je NVIDIA PTX.
  • Izboljšana podpora za libstdc++ za standarde C++20, C++23 in C++26.
  • Podpora za razširitev GCC, ki je omogočala podajanje člana prilagodljivega polja ne na koncu strukture, je bila opuščena
  • Razširjena zaledna podpora arhitekture AArch64 za različne procesorje in razširitve, kot sta Arm SME in SME2.
  • Dodana podpora za procesorje Cortex-M52 v zaledju arhitekture ARM.
  • Dodana podpora za procesorje AMD, ki temeljijo na jedru Zen 5 in drugih Intelovih arhitekturah
  • Izboljšave podpore za LoongArch, AVR in RISC-V.
  • Izboljšave diagnostičnega izhoda v formatu SARIF, ki temelji na JSON, za rezultate statične analize in opozorila.
  • Za kodo C, prevedeno v standarde, novejše od C89, nekateri konstrukti, izpeljani iz C99, zdaj proizvajajo napake namesto opozoril za izboljšanje odkrivanja morebitnih težav.

Nazadnje, če vas zanima več o tem, se lahko obrnete na podrobnosti v naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.