Oversikt over C Compilers

La oss lære dette konseptet med kompilatorer med et eksempel. Anta at du har vært på et sted hvor språkene du snakker er helt forskjellige fra hverandre, og nå hadde du noen reiser og ønsker å kommunisere det samme med dem. Hvordan? Trengte du en oversetter? Du velger å ha noen som kan forstå språket ditt og oversette og la den motsatte forstå hva du ønsket å si. På samme måte ville vi skrevet C-koden vår på et høyt nivå språk som er et menneskelig forståelig format. Hvordan vil programmet forstå hva vi har bedt om å gjøre? Det er her kompilatoren kommer inn i bildet. En kompilator forvandler og oversetter et avansert språk til maskinforståelig språk (på lavt nivå). Samlingsprosessen gjør grunnleggende oversettelsesmekanismer og også feildeteksjon. Samlingen i frontenden inkluderer leksikalsk, syntaks og semantisk analyse. Og på baksiden gjør samlingen kodegenerering og optimalisering. Så det er mange kompilatorer i C som BDS, Clang, GCC, Interactive C, Lattice, Portable C Compiler, Visual Express, etc. La oss få vite mer om noen få av dem.

Forklaringer til C-kompilatorer

Nedenfor er de beste kompilatorene av C:

1) Borland Turbo C

Turbo C er en av de grunnleggende og populære kompilatorene for programmeringsspråket C. Dette ble først introdusert i 1987; den var populær for sin lille størrelse, samlehastighet og lave pris. Når Turbo C ++ ble utgitt i 1990, slås begge kompilatorene sammen, og navnet Turbo C ble avviklet. I 2006 hadde Embarcadero Technologies gitt ut Turbo C på nytt som freeware. Husker du denne blå skjermen?

2) Tiny C-kompilator

Tiny C-kompilatoren er designet for å fungere på sakte datamaskiner med lite diskplass. Dette er en ARM-prosessor C-kompilator. Denne kompilatoren startet sin støtte til Windows fra 2005. Noen av funksjonene er nevnt nedenfor.

  1. Filstørrelsen er liten og i henhold til eieren av denne kompilatoren (Fabrice Bellard). Hastigheten til denne kompilatoren er rundt ni ganger raskere enn GCC. Kompilering, montering og kobling av kode var de viktigste egenskapene som ble vurdert for å måle hastigheten til denne kompilatoren.
  2. Denne kompilatoren hadde inkludert mange kompilator-spesifikke funksjoner for å øke det valgfrie minnet, bundet kontroller og hadde større kodestabilitet.
  3. Denne kompilatoren tillater automatisk utførelse av programmer i løpet av kompileringstiden bare ved hjelp av kommandolinjeargumenter. På denne måten blir programmer kjørt under UNIX, ved hjelp av skallskript. Den siste versjonen ble utgitt desember 2017.

3) Bærbar C-kompilator

Portable C Compiler (PCC) var en veldig tidlig brukt og etablert kompilator for programmeringsspråket C som nesten er rundt midten av 1970. Denne kompilatoren hadde lang levetid. Dette var utbredt i en periode på en slik måte at mange av C-kompilatorene var basert på den. Fordelene med PCC var avhengig av dens evner og sannsynlighetsforutsigelser. PCC-kompilatoren ble laget slik at kildefilene var maskinavhengige, ikke alle, men bare noen få av dem. Den kan oppdage syntaksfeil og kan utføre perfekte gyldighetskontroller. En ny versjon av PCC ble utgitt 10. desember 2014.

4) GCC

GNU Compiler Collection er kompilatoren produsert av GNU Project. Dette støtter mange programmeringsspråk, og det er et gratis programvarefundament under General Public License. Denne kompilatoren ble først utgitt i 1987, og den støttet bare C-programmeringsspråk i løpet av starten. Sakte utvidet den til C ++, Java, Android og IOS. Her har hver av de forskjellige språkkompilatorene sitt eget program som leser koden som er skrevet og sender maskinkoden som utgang. Alle disse har en felles intern struktur. Når et høyt nivå er skrevet, i samsvar med språket det er skrevet, analyserer kompilatoren koden på det språket og produserer et abstrakt syntaks-tre. GCC bruker LALR-parsere, men byttet sakte til rekursive nedstigningsanalyser for C i 2006. Kommer til optimaliseringsdelen, som allerede kjent, kan dette skje under en hvilken som helst fase av samlingen. Imidlertid utføres bulkoptimaliseringene før kodegenerering og etter syntaks, semantisk analyse. Nedenfor er noen av optimaliseringene utført av GCC.

  1. Det kan eliminere Dead Code-brikkene.
  2. Det kan eliminere overflødighet på kodenivå.
  3. Erstatning av aggregater med hensyn til skalarnivået.
  4. Kan utføre optimaliseringer med Arrays.

I GCC spesifiseres bakenden av forhåndsprosessormakroer og funksjoner som er spesifikke for en bestemt arkitektur. Denne koden bygges vanligvis ved først å ringe en liten kodekode som er tilknyttet hvert mønster og generere instruksjoner fra instruksjonssettet. Det gjøres ved hjelp av registre, forskyvninger og adresser som velges i omlastingsfasen. Den nåværende versjonen av GCC er 9.2, som ble utgitt 12. august 2019.

5) Clang

  1. klang; inkludert C, er også en kompilator for programmeringsspråk C ++, Objekt-C og objektiv-C ++. Denne kompilatoren bruker LLVM for kompilasjoner relatert til bakenden. Denne kompilatoren er designet for å fungere som en erstatning for GCC ved å støtte mange av kompilasjonsflaggene og språkutvidelsene.
  2. Clang har mange bidragsytere inkludert Apple, Microsoft, Google, Sony og Intel. Det er åpen kildekode-programvare. LLVM ble først brukt av GCC til frontend-samlingen, men GCC hadde forårsaket noen problemer for utviklere hos Apple, siden kildekoden er stor og vanskelig å bruke. Så de hadde møtt Clang.
  3. Et av hovedmålene for Clang er å skaffe bibliotekbasert arkitektur. Den er designet for å holde mer informasjon under samlingsprosessen enn GCC. Dette hjelper også til å bevare den generelle formen til den opprinnelige koden.
  4. Feilrapporten generert av Clang under samlingen er alltid i en detaljert og spesifikk i et maskinlesbart format. Clang hadde alltid hatt som mål å redusere overforbruken av minneplass og øke kompilasjonshastigheten sammenlignet med GCC, og på grunn av disse egenskapene hadde den blitt en av de hurtigst voksende brukte kompilatorene i løpet av et tidspunkt. Men over en periode begynte prestasjonen til Clang å komme ned. Rapportene fortalte at ytelsen hadde hengt med nesten store forskjeller sammenlignet med GCC og begynte å ha tregere ytelse. De siste sammenligningene indikerer at begge kompilatorene hadde kommet opp og økt ytelsen og igjen skapt stor konkurranse mellom dem. Likevel er GCC fortsatt på topp.

Konklusjon

Selv om det er mange kompilatorer tilgjengelig for C, fremstår GCC som en av de beste som nå. Vinnererklæringen ligger her basert på holdbarhet, optimalisering, hastighet og kode / feil / syntaks sjekk. Gjennom dette kan vi tydelig forstå at Compiler er en viktig pilar for programmeringsspråk. Uten deres arbeid ville uansett program vi skriver bare være søppel for systemet.

Anbefalte artikler

Dette har vært en guide til Best C Compilers. Her diskuterer vi forklaringer til C Compilers med fem korte punkter. Du kan også gå gjennom vår andre foreslåtte artikkel for å lære mer-

  1. Python-kompilatorer
  2. Java-kompilatorer
  3. Hvordan installere C
  4. Fordeler med C
  5. Introduksjon til PHP Compiler
  6. JavaScript-kompilatorer