De GCC 10.1-compiler is er en dit zijn de belangrijkste nieuwigheden

Na een jaar van ontwikkeling de release van de nieuwe versie is gepubliceerd uit de gratis set GCC 10.1-compilers, dit was de eerste belangrijke release in de nieuwe tak van GCC 10.x.

Volgens het nieuwe versienummeringsschema werd versie 10.0 gebruikt tijdens het ontwikkelingsproces en kort voor de release van GCC 10.1 was de GCC 11.0-tak al vertakt, op basis waarvan de volgende versie zal worden gevormd. Betekenis van GCC 11.1 .

Voor degenen die niet bekend zijn met GCC (GNU Compiler Collection), moet u weten dat eDit is een set compilers gemaakt door het GNU-project, is gratis software en wordt gedistribueerd door de Free Software Foundation (FSF) onder de algemene openbare GPL-licentie.

Deze compilers worden veel gebruikt op de meeste Unix-systemen in die mate dat ze worden beschouwd als een standaard voor Unix-besturingssystemen en open source-derivaten en ook als eigendom zijn, zoals Mac OS X.

GCC vereist de set applicaties die bekend staat als binutils om taken uit te voeren zoals het identificeren van objectbestanden of het verkrijgen van hun grootte voor het kopiëren, vertalen of maken van lijsten, ze te koppelen of onnodige symbolen te verwijderen.

Wat is nieuw in GCC 10.1

GCC 10.1 onderscheidt zich door de implementatie van vele innovaties van de C ++ -taal ontwikkeld voor de C ++ 20-standaard, verbeteringen gerelateerd aan de toekomstige C-taalstandaard (C2x), nieuwe optimalisaties in compiler-backends en experimentele ondersteuning voor statische analysemodus.

Voor de talen C, C ++ en Fortran is de OpenACC 2.6-specificatie voor parallel programmeren geïmplementeerd, dat downloadtools op GPU's en gespecialiseerde processors zoals NVIDIA PTX definieert.

De implementatie van de standaard Open MP 5.0 (Open Multi-Processing), die de API en methoden definieert voor het gebruik van parallelle programmeermethoden in multi-core en hybride systemen (CPU + GPU / DSP) met gedeeld geheugen en vectorisatie-eenheden (SIMD), het is bijna klaar.

Functies worden toegevoegd als voorwaardelijke uitdrukkingen lastprivate, scan en loop directives, order and use_device_addr expressions. Voor OpenMP en OpenACC, het werd toegevoegd ondersteuning voor downloaden op XNUMXe en XNUMXe generatie AMD Radeon GPU's.

Voor C-talen is de functie "toegang" toegevoegd om de toegang tot de functie van objecten die door verwijzing of aanwijzer worden doorgegeven te beschrijven en om deze objecten te associëren met integer-argumenten die informatie bevatten over de grootte van de objecten.

Om samen te werken met "access", wordt het kenmerk "type" geïmplementeerd om onjuiste toegang van gebruikersfuncties te detecteren, bijvoorbeeld bij het schrijven van waarden naar een gebied buiten de grenzen van de array. Het symver-attribuut is ook toegevoegd om karakters in het ELF-bestand te koppelen aan specifieke versienummers.

Voor C ++ zijn ongeveer 16 wijzigingen en innovaties doorgevoerd ontwikkeld in de C ++ 20-standaard inclusief het trefwoord "constinit" ondersteuning toegevoegd en geïmplementeerd voor het uitbreiden van sjablonen «concept»Hiermee kunt u een set vereisten voor sjabloonparameters definiëren, die tijdens het compileren de set argumenten beperken die als sjabloonparameters kunnen worden gebruikt.

ook verbeterde interprocedurele optimalisaties worden benadrukt, IPA-SRA is opnieuw ontworpen om te werken tijdens het binden en verwijdert nu onder andere ongebruikte berekende en geretourneerde waarden.

In de "-O2" -optimalisatiemodus is de optie "-finline-functions" ingeschakeld, die opnieuw is geconfigureerd voor compactere code dan voor prestaties.

De verbeterde linkoptimalisatie (LTO), sen een nieuw uitvoerbaar bestand lto-dump toegevoegd om informatie te dumpen op objectbestanden met LTO-bytecode. In LTO-parallelle passages kan het aantal gelijktijdige uitvoeringstaken automatisch worden bepaald en, als dit niet kan worden bepaald, kunt u informatie over het aantal CPU-kernen gebruiken als parallelliseringsfactor.

Het optimalisatiemechanisme is verbeterd en is gebaseerd op de resultaten van Code Profiling (PGO), die meer optimale code genereert op basis van een analyse van de kenmerken van code-uitvoering.

Wil je er meer over weten, u kunt de details van deze release bekijken In de volgende link. 


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.