GCC 10.1-kompilatoren er her, og disse er dens vigtigste nyheder

Efter et års udvikling frigivelsen af ​​den nye version blev offentliggjort fra det gratis sæt GCC 10.1 kompilatorer, dette er den første betydningsfulde udgivelse i den nye gren af ​​GCC 10.x.

I henhold til det nye versionsnummereringsskema blev version 10.0 brugt under udviklingsprocessen, og kort før frigivelsen af ​​GCC 10.1 var GCC 11.0-grenen allerede forgrenet, på grundlag af hvilken den næste version vil blive dannet. betydning af GCC 11.1.

For dem, der ikke er bekendt med GCC (GNU Compiler Collection), bør vide, at eDette er et sæt compilere oprettet af GNU-projektet, er gratis software og distribueres af Free Software Foundation (FSF) under GPL's generelle offentlige licens.

Disse compilere bruges i vid udstrækning på de fleste Unix-systemer i en sådan grad, at de betragtes som en standard for Unix-operativsystemer og derivater af open source og også proprietære, såsom Mac OS X.

GCC kræver det sæt applikationer, der kaldes binutils, for at udføre opgaver såsom at identificere objektfiler eller få deres størrelse til at kopiere, oversætte eller oprette lister, linke dem eller fjerne unødvendige symboler.

Nyheder i GCC 10.1

GCC 10.1 skiller sig ud for implementeringen af ​​mange innovationer i C ++ - sproget udviklet til C ++ 20-standarden, forbedringer relateret til den fremtidige C-sprogstandard (C2x), nye optimeringer i compiler-backends og eksperimentel support til statisk analysetilstand.

For sprogene C, C ++ og Fortran implementeres OpenACC 2.6 parallel programmeringsspecifikation, der definerer downloadværktøjer på GPU'er og specialiserede processorer såsom NVIDIA PTX.

Implementeringen af ​​standarden Åbn MP 5.0 (Open Multi-Processing), der definerer API og metoder til brug af parallelle programmeringsmetoder i multi-core og hybridsystemer (CPU + GPU / DSP) med delt hukommelse og vektoriseringsenheder (SIMD), den er næsten færdig.

Funktioner tilføjes som betingede udtryk lastprivate, scan og loop direktiver, bestil og brug_enhed_addr-udtryk. Til OpenMP og OpenACC, blev det tilføjet support til download på XNUMX. og XNUMX. generation AMD Radeon GPU'er.

For C-sprog er "access" -funktionen blevet tilføjet for at beskrive adgangen til funktionen af ​​objekter, der sendes via reference eller markør, og for at knytte disse objekter til heltalargumenter, der indeholder information om størrelsen på objekterne.

For at arbejde sammen med "adgang" implementeres attributten "type" for at detektere forkert adgang fra brugerfunktioner, for eksempel når man skriver værdier til et område uden for arrayets grænser. Symver-attributten er også tilføjet for at linke tegn i ELF-filen til bestemte versionsnumre.

For C ++ er der implementeret ca. 16 ændringer og innovationer udviklet i C ++ 20-standarden inklusive nøgleordet "constinit" tilføjet og implementeret support til udvidelse af skabeloner «Konceptet»Det giver dig mulighed for at definere et sæt krav til skabelonparametre, som under kompilering begrænser det sæt argumenter, der kan tages som skabelonparametre.

Også forbedrede interprocedurelle optimeringer er fremhævet, IPA-SRA er blevet redesignet til at fungere under binding og fjerner blandt andet nu ubrugte beregnede og returnerede værdier.

I optimeringstilstand "-O2" er "-finline-funktioner" aktiveret, som omkonfigureres til mere kompakt kode end ydeevne.

Det forbedret linkoptimering (LTO), sog tilføjede en ny eksekverbar fil lto-dump for at dumpe oplysninger på LTO byte-kodede objektfiler. I LTO parallelle passeringer er det muligt automatisk at bestemme antallet af samtidige eksekveringsopgaver og, hvis dette ikke kan bestemmes, at bruge information om antallet af CPU-kerner som en paralleliseringsfaktor.

Optimeringsmekanismen blev forbedret og er baseret på resultaterne af Code Profiling (PGO), der genererer mere optimal kode baseret på en analyse af egenskaberne ved kodeudførelse.

Hvis du vil vide mere om det, du kan kontrollere detaljerne i denne udgivelse I det følgende link. 


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.