GCC 14.1 už vyšlo a toto sú jeho novinky

gcc

GNU Compiler Collection je súbor kompilátorov vytvorených projektom GNU. GCC je slobodný softvér a je distribuovaný Free Software Foundation pod všeobecnou verejnou licenciou GPL.

La nová verzia GCC 14.1 už bola vydaná a medzi jeho vylepšeniami a zmenami, ktoré vynikajú najviac, je nová verzia ponúka vylepšenia v statickej analýzealebo, ako aj vylepšenia zabezpečenia, vylepšenia optimalizácie výkonu, vylepšenia runtime knižnice libstdc++, okrem iného.

GCC 14.1 je označené ako prvé hlavné vydanie novej vetvy GCC 14.x a podľa schémy číslovania verzií sa pri vývoji používala verzia 14.0 a krátko pred vydaním GCC 14.1 už bola rozdelená vetva GCC 15.0, z ktorej by sa vytvorila ďalšia hlavná verzia, GCC 15.1.

Čo je nové v GCC 14.1?

V tejto novej verzii GCC 14.1 Statická analýza bola vylepšená pre jazyk C prostredníctvom možnosti "-fanalyzer", je, že pri analýze operácií s reťazcami bol pridaný detekcia nekonečnej slučky s "-Wanalyzer-nekonečná-slučka» a pridali špecifické upozornenia na problémy s overením vstupu pomocou «-Wanalyzer-pokazené-*«. Varovanie „-Wanalyzer-out-of-bounds“ bol tiež vylepšený na detekciu pretečenia vyrovnávacej pamäte, Okrem toho bola prostredníctvom možnosti rozšírená podpora formátu SARIF -fdiagnostics-format=, čo uľahčuje vytváranie podrobných správ pre pokročilejšie statické analýzy.

Ďalšou novou funkciou, ktorú GCC 14.1 predstavuje, sú vylepšenia runtime knižnice libstdc++, keďže bola pridaná podpora pre funkcie ako napr std::stacktrace a std::format, ako aj pre optimalizované vstupné/výstupné operácie prostredníctvom std::print a std::println.

Okrem toho boli zavedené nové možnosti inteligentného ovládania ukazovateľov pomocou std::out_ptr a std::inout_ptr, ako aj vylepšenia konverzných nástrojov ako napr std::to_string a std::to_wstring, poskytuje vývojárom kompletnejšiu sadu nástrojov na správu údajov a operácie formátovania.

Boli pridané funkcie súvisiace s C++23, ako napríklad podpora mechanizmu „Deducing this“, ktorý umožňuje použitie parametrov s atribútom „this“ v šablónach a zisťuje kategóriu výrazu, pre ktorý sa volá funkcia triedy, bola implementovaná aj v podobnom spôsob, ktorý konvertuje všetky funkcie, ktoré volajú funkcie s atribútom consteval, na funkcie consteval

tiež Boli pridané funkcie súvisiace s C++26, napríklad je možné použiť reťazcové literály v kontexte, kde sa nepoužívajú na inicializáciu poľa znakov a nekončia vo výslednom kóde, pribudla tiež možnosť používať viaceré zástupné premenné s názvom "_" a implicitné konverzie vymenované hodnoty v aritmetických výpočtoch boli zastarané.

Z Ďalšie zmeny a vylepšenia, ktoré boli zavedené v GCC 14.1:

  • Nové možnosti ako «–enable-host-koláč» kompilovať spustiteľné súbory v režime PIE a «–enable-host-bind-now» pre ďalšie možnosti prepojenia.
  • Pridaná možnosť «-plutvy-stringops» umožniť online rozširovanie funkcií ako napr memcmp, memcpy, memmove a memset, aj keď nie sú potrebné na optimalizáciu.
  • Výrazné vylepšenia sa dočkala podpora pre OpenMP so zahrnutím možností ako napr -fopenmp-allokátory a smernice ako predvolená mapa a nepriama.
  • Pridaná počiatočná podpora pre ukážku špecifikácie OpenMP 6.0 a pokračujúca implementácia štandardov OpenMP 5.0, 5.1 a 5.2.
  • Vylepšená implementácia špecifikácií paralelného programovania OpenACC 2.7 a 3.2 na presun operácií na GPU a špecializované procesory, ako je NVIDIA PTX.
  • Vylepšená podpora libstdc++ pre štandardy C++20, C++23 a C++26.
  • Podpora rozšírenia GCC, ktorá umožňovala špecifikovať člena flexibilného poľa nie na konci štruktúry, bola zastaraná
  • Rozšírená backendová podpora architektúry AArch64 pre rôzne CPU a rozšírenia, ako sú Arm SME a SME2.
  • Pridaná podpora pre procesory Cortex-M52 na backende architektúry ARM.
  • Pridaná podpora pre procesory AMD založené na jadre Zen 5 a ďalších architektúrach Intel
  • Vylepšenia podpory pre LoongArch, AVR a RISC-V.
  • Vylepšenia diagnostického výstupu vo formáte SARIF založenom na JSON pre výsledky statickej analýzy a varovania.
  • Pre kód C kompilovaný podľa štandardov novších ako C89 teraz niektoré konštrukty odvodené od C99 produkujú chyby namiesto varovaní, aby sa zlepšila detekcia potenciálnych problémov.

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete si podrobnosti prečítať v nasledujúci odkaz.


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ť.