Die GCC 10.1-samesteller is hier en dit is die belangrikste nuwighede

Na 'n jaar van ontwikkeling die vrystelling van die nuwe weergawe is gepubliseer vanaf die gratis stel GCC 10.1 samestellers, dit is die eerste belangrike weergawe in die nuwe tak van GCC 10.x.

Volgens die nuwe weergawe-nommeringskema is weergawe 10.0 tydens die ontwikkelingsproses gebruik en kort voor die vrystelling van GCC 10.1 is die GCC 11.0-tak reeds vertak, op grond waarvan die volgende weergawe gevorm sal word. betekenisvol van GCC 11.1.

Vir diegene wat nie vertroud is met GCC (GNU Compiler Collection) nie, moet u weet dat eDit is 'n stel samestellers wat deur die GNU-projek geskep is, is gratis sagteware en word versprei deur die Free Software Foundation (FSF) onder die GPL algemene lisensie.

Hierdie samestellers word baie gebruik op die meeste Unix-stelsels tot so 'n mate dat dit beskou word as 'n standaard vir Unix-bedryfstelsels en afgeleide van oop bron en ook eie, soos Mac OS X.

GCC vereis dat die stel toepassings, bekend as binutils, take moet uitvoer, soos die identifisering van objeklêers of die grootte daarvan vir die kopiëring, vertaal of skep van lyste, koppeling of verwydering van onnodige simbole.

Wat is nuut in GCC 10.1

GCC 10.1 staan ​​uit vir die implementering van baie innovasies in die C ++ taal ontwikkel vir die C ++ 20-standaard, verbeterings wat verband hou met die toekomstige C-taalstandaard (C2x), nuwe optimerings in samesteller-agterste en eksperimentele ondersteuning vir statiese ontledingsmodus.

Vir die C-, C ++- en Fortran-tale word die OpenACC 2.6 parallelle programmeringspesifikasie geïmplementeer, wat aflaaihulpmiddels op GPU's en gespesialiseerde verwerkers soos NVIDIA PTX definieer.

Die implementering van die standaard Maak MP 5.0 oop (Open Multi-Processing), wat die API en metodes definieer vir die gebruik van parallelle programmeringsmetodes in multi-kern- en hibriede stelsels (CPU + GPU / DSP) met gedeelde geheue- en vektoriseringseenhede (SIMD), dit is amper klaar.

Funksies word bygevoeg as voorwaardelike uitdrukkings lastprivate, scan en loop riglyne, orden en gebruik_apparaat_addr uitdrukkings. Vir OpenMP en OpenACC, is dit bygevoeg ondersteuning vir aflaai op XNUMXde en XNUMXde generasie AMD Radeon GPU's.

Vir C-tale is die "toegang" -funksie bygevoeg om toegang te beskryf tot die funksie van voorwerpe wat deur verwysing of wyser oorgedra word en om hierdie voorwerpe te assosieer met heelgetalargumente wat inligting bevat oor die grootte van die voorwerpe.

Om saam met "toegang" te werk, word die kenmerk "tipe" geïmplementeer om verkeerde toegang van gebruikersfunksies op te spoor, byvoorbeeld wanneer waardes geskryf word na 'n gebied buite die grense van die skikking. Die simver-eienskap is ook bygevoeg om karakters in die ELF-lêer aan spesifieke weergawenommers te koppel.

Vir C ++ is ongeveer 16 veranderinge en innovasies geïmplementeer ontwikkel in die C ++ 20 standaard insluitend die trefwoord "constinit" ondersteuning bygevoeg en geïmplementeer om sjablone uit te brei «konsep»Dit stel u in staat om 'n stel vereistes vir sjabloonparameters te definieer, wat die stel argumente wat as sjabloonparameters geneem kan word tydens die samestelling beperk.

Ook verbeterde interprosedurale optimalisasies word uitgelig, IPA-SRA is herontwerp om tydens bindwerk te werk en verwyder onder andere nou ongebruikte berekende en teruggestuurde waardes.

In die optimaliseringsmodus "-O2" is die opsie "-finline-funksies" geaktiveer, wat herkonfigureer word vir kompakter kode as vir prestasie.

Die verbeterde skakeloptimalisering (LTO), sen het 'n nuwe uitvoerbare lêer bygevoeg om die inligting te dump op LTO-byte-gekodeerde objeklêers. In LTO parallelle passe kan die aantal gelyktydige uitvoeringstake outomaties bepaal word, en as dit nie bepaal kan word nie, gebruik inligting oor die aantal CPU-kerne as paralleliseringsfaktor.

Die optimaliseringsmeganisme is verbeter en is gebaseer op die resultate van Code Profiling (PGO), wat meer optimale kode genereer gebaseer op 'n analise van die eienskappe van kode-uitvoering.

As u meer daaroor wil weet, u kan die besonderhede van hierdie weergawe nagaan In die volgende skakel. 


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

Wees die eerste om te kommentaar lewer

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.