Översikt av C Compilers

Låt oss lära oss det här konceptet med kompilatorer med ett exempel. Anta att du har varit på ett ställe där de språk du talar skiljer sig helt från varandra och nu hade du några resandefrågor och vill kommunicera samma sak med dem. Hur? Behövde du en översättare rätt? Du väljer att ha någon som kan förstå ditt språk och översätta och låta den motsatta personen förstå vad du ville säga. På samma sätt skulle vi skriva vår C-kod på ett språk på hög nivå som är ett mänskligt förståeligt format. Hur skulle programmet förstå vad vi har bett om att göra? Det är här kompilatorn kommer in i bilden. En kompilator omvandlar och översätter ett avancerat språk till maskinförståeligt språk. Kompileringsprocessen gör grundläggande översättningsmekanismer och även feldetektering. Främre kompilering inkluderar lexikal, syntax och semantisk analys. Och i baksidan gör kompilering kodgenerering och optimering. Så det finns många kompilatorer i C som BDS, Clang, GCC, Interactive C, Lattice, Portable C Compiler, Visual Express, etc. Låt oss lära oss mer om några av dem.

Förklaringar till C-kompilatorer

Nedan är de bästa kompilatorerna av C:

1) Borland Turbo C

Turbo C är en av de grundläggande och populära kompilatorerna för C-programmeringsspråket. Detta introducerades först 1987; det var populärt för sin lilla storlek, sammanställningshastighet och låga pris. När Turbo C ++ släpptes 1990 slås båda kompilatorerna samman och namnet Turbo C upphörde. År 2006 hade Embarcadero Technologies släppt Turbo C som freeware. Kommer du ihåg den blå skärmen?

2) Tiny C-kompilator

Tiny C Compiler är utformad för att fungera på långsamma datorer med lite diskutrymme. Detta är en ARM-processor C-kompilator. Denna kompilator startade sitt stöd till Windows från 2005. Några av dess funktioner nämns nedan.

  1. Filstorleken är liten och enligt ägaren till denna kompilator (Fabrice Bellard). Kompilatorns snabbhet är cirka nio gånger snabbare än GCC. Sammanställning, montering och koppling av kod var de viktigaste attributen som beaktades för att mäta hastigheten hos denna kompilator.
  2. Denna kompilator hade inkluderat många kompilatorspecifika funktioner för att öka det valfria minnet, bunden kontroller och hade större kodstabilitet.
  3. Denna kompilator tillåter automatisk körning av program under kompileringstiden endast med hjälp av kommandoradsargument. På detta sätt körs program under UNIX med hjälp av skalskript. Den senaste versionen släpptes december 2017.

3) Bärbar C-kompilator

Portable C Compiler (PCC) var en mycket tidigt använd och etablerad kompilator för programmeringsspråket C som nästan var runt mitten av 1970. Denna kompilator hade en lång livslängd. Detta var vanligt under en period på ett sådant sätt att många av C-kompilatorerna baserades på den. Fördelarna med PCC berodde på dess kapacitet och sannolikhetsförutsägelser. PCC-kompilatorn gjordes så att källfiler var maskinberoende, inte alla utan bara ett fåtal av dem. Det kan upptäcka syntaxfel och kan utföra perfekta giltighetskontroller. En ny version av PCC släpptes den 10 december 2014.

4) GCC

GNU Compiler Collection är den kompilator som produceras av GNU-projektet. Detta stöder många programmeringsspråk och det är en kostnadsfri programvarugrund under General Public License. Denna kompilator släpptes först 1987 och den stödde endast C-programmeringsspråk under starten. Långsamt expanderade det till C ++, Java, Android och IOS. Här har var och en av de olika språkkompilatorerna ett eget program som läser den skrivna koden och skickar maskinkoden som utgång. Alla dessa har en gemensam intern struktur. När ett högnivåspråk skrivs, enligt språket det skrivs, analyserar kompilatorn koden på det språket och producerar ett abstrakt syntaxträd. GCC använder LALR-parsers, men bytte långsamt till rekursiv-härkomst-parsers för C 2006. Kommer till optimeringsdelen, som redan känt kan detta inträffa under vilken som helst fas i sammanställningen. Här utförs dock bulkoptimeringarna före kodgenerering och efter syntax, semantisk analys. Nedan är några av de optimeringar som utförs av GCC.

  1. Det kan eliminera Dead Code-bitarna.
  2. Det kan eliminera redundansen på kodnivå.
  3. Ersättning av aggregat med avseende på skalanivån.
  4. Kan utföra optimeringar med Arrays.

I GCC specificeras backend av preprocessor-makron och funktioner som är specifika för en viss arkitektur. Denna kod byggs generellt genom att först ringa en liten kodkod som är associerad med varje mönster och generera instruktioner från instruktionsuppsättningen. Det görs med hjälp av register, offset och adresser som väljs under omlastningsfasen. Den nuvarande versionen av GCC är 9.2, som släpptes den 12 augusti 2019.

5) Clang

  1. Klang; inklusive C, är också en kompilator för programmeringsspråk C ++, Objekt-C och objektiv-C ++. Den här kompilatorn använder LLVM för kompileringar för back-end-kod. Denna kompilator har utformats för att fungera som en ersättning för GCC genom att stödja många av dess sammanställningsflaggor och språkförlängningar.
  2. Clang har många bidragsgivare inklusive Apple, Microsoft, Google, Sony och Intel. Det är öppen källkodsprogram. LLVM användes först av GCC för kompilering av frontend, men GCC hade orsakat några problem för utvecklare hos Apple, eftersom källkoden är stor och svår att använda. Så de hade kommit fram till Clang.
  3. Ett av de viktigaste målen för Clang är att tillhandahålla biblioteksbaserad arkitektur. Det är utformat för att hålla mer information under sammanställningsprocessen än GCC. Detta hjälper också till att bevara den övergripande formen på den ursprungliga koden.
  4. Felrapporten genererad av Clang under sammanställningen är alltid i en detaljerad och specifik i ett maskinläsbart format. Clang hade alltid syftat till att minska överanvändningen av minnesutrymme och öka kompilationshastigheten jämfört med GCC, och på grund av dessa egenskaper hade det blivit en av de snabbast växande använda kompilatorerna under en tidpunkt. Men under en period började Clangs prestanda sjunka. Rapporterna berättade att prestandan hade halterat med nästan stora skillnader jämfört med GCC och börjat ha långsammare prestanda. De senaste jämförelserna tyder på att båda kompilatorerna hade kommit upp och ökat deras prestanda och återigen skapat stor konkurrens mellan dem. Ändå återstår GCC till topplistan.

Slutsats

Även om det finns många kompilatorer tillgängliga för C, framstår GCC som en av de bästa som nu. Vinnardeklarationen ligger här baserat på hållbarhet, optimering, hastighet och kod / fel / syntaxkontroller. Genom detta kan vi tydligt förstå att Compiler är en viktig pelare för programmeringsspråken. Utan deras arbete skulle vilket program vi skriver bara vara skräp för systemet.

Rekommenderade artiklar

Detta har varit en guide till Bästa C-kompilatorer. Här diskuterar vi förklaringar av C Compilers med fem korta punkter. Du kan också gå igenom vår andra föreslagna artikel för att lära dig mer-

  1. Python Compilers
  2. Java-kompilatorer
  3. Hur man installerar C
  4. Fördelar med C
  5. Introduktion till PHP Compiler
  6. JavaScript-kompilatorer

Kategori: