GCC 11.1 ass scho verëffentlecht ginn, dëst sinn hir wichtegst Neiegkeeten an Ännerungen

No engem Joer Entwécklung, GCC 11.1 Compiler Suite nei Versioun verëffentlecht, déi éischt bedeitend Verëffentlechung an der neier GCC 11.x Branche. Ënnert dem neie Versiounsnummerschema gouf d'Versioun 11.0 wärend der Entwécklung benotzt, a kuerz virun der Verëffentlechung vum GCC 11.1 war eng Branche vum GCC 12.0 scho geforkelt fir déi nächst grouss Versioun vum GCC 12.1 ze bilden.

GCC 11.1 steet fir den Iwwergank zum Standard-Debug Dateiformat DWARF 5 eraus, d'Standard Inclusioun vum C ++ 17 Standard ("-std = gnu ++ 17"), bedeitend Verbesserunge vun der Kompatibilitéit mam C ++ 20 Standard, experimentell Ënnerstëtzung fir C ++ 23, Verbesserunge bezunn op den zukünftege Standard vun d'C Sprooch (C2x), nei Performance Optimisatiounen.

GCC 11.1 Haapt nei Features

De Standardmodus fir d'C ++ Sprooch gëtt geännert fir den C ++ 17 Standard ze benotzen, amplaz vum virdru proposéierte C ++ 14. Et ass méiglech dat neit C ++ 17 Verhalen selektiv auszeschalten wann Dir Templates veraarbecht déi aner Templates als Parameter benotzen (-fno-new-ttp-matching).

Bäigefüügt Ënnerstëtzung fir Hardware Beschleunegung vum AddressSanitizer-Tool, wat Iech erlaabt d'Fakten ze bestëmmen fir Zougang zu befreitene Gedächtnisberäicher ze kréien, d'Grenze vum zougestellte Puffer iwwerschreiden, an e puer aner Aarte vu Feeler wann Dir mam Gedächtnis schafft. Hardware Beschleunegung ass de Moment nëmme verfügbar fir d'Arch64 Architektur a fokusséiert op hir Benotzung beim Kompiléiere vum Linux Kernel.

Eng aner Neiheet déi presentéiert gëtt sinn den Optimiséierungen a Verbesserungen tëscht Prozeduren, well en neien IPA-modref Pass gouf derbäi (-fipa-modref) fir Niewewierkungen a Funktiounsruff ze verfollegen an d'Analysenauegkeet ze verbesseren. Nieft och eng verbessert Ëmsetzung vum IPA-ICF Pass (-fipa-icf), wat de Compilatiouns-Gedächtniskonsum reduzéiert an d'Zuel vun den eenheetleche Funktiounen erhéicht fir déi identesch Blockblocken fusionéiert sinn.

El Profil ugedriwwen Optimiséierungsmotor (PGO), verbesserte Modus "-fprofile-values" andeems Dir méi Parameteren fir indirekt Uriff verfollegt.

Och Weider Ëmsetzung vum OpenMP 5.0 Standard gëtt beliicht (Open Multi-Processing), an deem initial Ënnerstëtzung fir d'Aufgabdirektiv bäigefüügt an d'Fäegkeet net eenheetlech Schlëff ze benotzen an OpenMP baut. D'OMP_TARGET_OFFLOAD Ëmfeldvariabel gëtt elo ënnerstëtzt.

D'Ëmsetzung vun der OpenACC 2.6 Parallel Programméierungsspezifikatioun fir d'C-, C ++- a Fortran Sproochen, déi Tools definéiere fir Offladen vun Operatiounen u GPUs a spezialiséiert Prozessoren wéi NVIDIA PTX, gouf verbessert.

Fir d'Sprooche vun der C Famill gouf en neit Attribut "no_stack_protector" implementéiert, entwéckelt fir Funktiounen ze markéieren fir déi de Stack-Schutz net soll aktivéiert ginn ("-fstack-Protector"). Den "malloc" Attribut gouf mat Ënnerstëtzung verlängert fir Puer Uriff z'identifizéieren fir Erënnerung ze verdeelen, deen an der statescher Parser benotzt gëtt fir typesch Gedächtnisfeeler z'entdecken (Memory Leaks, Utilisatioun no Gratis, Duebel Uriff fir gratis Funktioun, asw.) a Compiler Warnungen "-Wmismatched-dealloc", "-Wmismatched- new-delete" an " -Wfree-nonheap-object "Berichterstattung onkonsequent Deallocation an Deallocation Operatiounen.

Wann Dir Debugging Informatioun generéiert, gëtt d'DWARF 5 Format standardméisseg benotzt, wat am Verglach mat fréiere Versiounen d'Generatioun vun Debugging Daten erlaabt déi 25% méi kompakt ass. Voll DWARF 5 Support erfuerdert Binutillen op d'mannst Versioun 2.35.2.

Erweidert ThreadSanitizer Modus Fäegkeeten (-fsanitize = thread), well joe füügt Ënnerstëtzung fir alternativ Betriebszäiten an Ëmfeld bäi, souwéi Ënnerstëtzung fir de Kernel Concurrency Sanitizer (KCSAN) Debuggen-Tool fir dynamesch Rennbedingungen am Linux Kernel z'entdecken. Nei Optiounen "–param tsan-z'ënnerscheeden-onbestänneg" an "–param tsan-instrument-func-entry-exit" goufen derbäigesat.

De Vektorizer liwwert d'Comptabilitéit vum ganzen Inhalt vun der Funktioun an der zousätzlecher Veraarbechtung vun de Fäegkeeten, déi mat de Kräizungen a Referenzen zu fréiere Blocken am Kontrollfluchdiagramm (CFG) assoziéiert sinn.

Den Optimizer huet d'Fäegkeet eng Serie vu bedingten Operatiounen an e Verännerungsausdrock ze konvertéieren, an deem déiselwecht Variabel verglach gëtt. An der Zukunft kann den Ännerungsausdrock mat Bit Testinstruktiounen kodéiert ginn (fir dës Konversioun ze kontrolléieren ass d'Optioun "-fbit-Tests" derbäigesat).

Fir C ++ goufen en Deel vun den Ännerungen an Innovatiounen, déi am C ++ 20 Standard proposéiert goufen, implementéiert, inklusiv déi virtuell Funktiounen "consteval virtual", Pseudo-Zerstéierer fir de Liewenszyklus vun Objeten ofzeschléissen, mat der Enum-Klass a Berechnung d'Gréisst vun engem Array am Ausdrock "nei".

Wann Dir méi doriwwer wësse wëllt, kënnt Dir d'Detailer kontrolléieren an de folgende Link. 


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.