Pregled C-prevajalnikov

Spoznajmo ta koncept prevajalnikov s primerom. Recimo, da ste bili v kraju, kjer so jeziki, ki jih govorite, popolnoma drugačni drug od drugega, zdaj pa ste imeli nekaj potovalnih težav in želite z njimi komunicirati isto. Kako? Ste potrebovali prevajalca? Odločite se, da boste imeli nekoga, ki bo razumel vaš jezik in prevedel ter dopustil nasprotni osebi, da razume, kaj ste želeli povedati. Na enak način bi pisali svojo C kodo v jeziku na visoki ravni, ki je v človeku razumljivi obliki. Kako bi program razumel, kaj smo ga prosili? Tukaj pride na vrsto prevajalnik. Prevajalnik preoblikuje in prevede jezik višjega razreda v strojno razumljiv jezik (nizka raven). Postopek sestavljanja izvaja osnovne mehanizme prevajanja in tudi zaznavanje napak. Kompilacija sprednjega dela vključuje leksikalno, skladenjsko in pomensko analizo. In na zadnji strani, kompilacija ustvarja kodo in optimizacijo. Torej obstaja veliko prevajalnikov v C, kot so BDS, Clang, GCC, Interactive C, Lattice, Portable C Compiler, Visual Express itd. Spoznajmo jih nekaj o njih.

Pojasnilo sestavljavcem C

Spodaj so najboljši prevajalci C:

1) Borland Turbo C

Turbo C je eden osnovnih in priljubljenih prevajalnikov programskega jezika C. To je bilo prvič predstavljeno leta 1987; bil je priljubljen zaradi svoje majhnosti, hitrosti sestavljanja in nizke cene. Ko je bil Turbo C ++ izdan leta 1990, sta oba prevajalnika združena in ime Turbo C je bilo ukinjeno. Leta 2006 je Embarcadero Technologies ponovno izdal Turbo C kot brezplačen. Se spomnite tega modrega zaslona?

2) Drobni C prevajalnik

Kompajler Tiny C je zasnovan za delo na počasnih računalnikih z malo prostora na disku. To je prevajalnik C procesorja ARM. Ta prevajalnik je začel podpirati sistem Windows od leta 2005. Nekaj ​​njegovih funkcij je omenjenih spodaj.

  1. Njegova velikost datoteke je majhna in glede na lastnika tega prevajalnika (Fabrice Bellard). Hitrost tega prevajalnika je približno devetkrat hitrejša od GCC. Sestavljanje, sestavljanje in povezovanje kode so bili glavni atributi za merjenje hitrosti tega prevajalnika.
  2. Ta prevajalnik je vključeval veliko funkcij, ki so značilne za prevajalnik, za povečanje izbirnega pomnilnika, vezanega preveritelja in večje stabilnosti kode.
  3. Ta prevajalnik omogoča samodejno izvajanje programov med časom prevajanja samo z argumenti ukazne vrstice. Tako se programi izvajajo pod UNIX-om z uporabo skriptov lupine. Zadnja različica je izšla decembra 2017.

3) Prenosni C prevajalnik

Prenosni C-prevajalnik C (PCC) je bil zelo zgodaj uporabljen in uveljavljen prevajalnik programskega jezika C, ki je bil skoraj sredi leta 1970. Ta prevajalnik je imel dolgo življenjsko dobo. To je bilo razširjeno v obdobju tako, da so na njem temeljili številni prevajalniki C. Prednosti PCC-ja so bile odvisne od njegovih zmogljivosti in verjetnosti napovedi. Prevajalnik PCC je bil narejen tako, da so izvorne datoteke strojno odvisne, ne le vse, ampak le nekatere. Zazna napake v sintaksi in lahko opravi popolno preverjanje veljavnosti. Nova različica PCC je izšla 10. decembra 2014.

4) GCC

Zbirka GNU Compiler je prevajalnik, ki ga je izdelal projekt GNU. Ta podpira številne programske jezike in je podlaga za splošno javno licenco. Ta prevajalnik je bil prvič izdan leta 1987 in je med začetkom podpiral samo programski jezik C. Počasi se je razširil na C ++, Java, Android in IOS. Tu ima vsak različni prevajalnik jezika svoj program, ki bere zapisano kodo in pošlje strojno kodo kot izhod. Vsi ti imajo skupno notranjo strukturo. Ko je napisan jezik na visoki ravni, v skladu z jezikom, ki ga je napisal, prevajalnik razčleni kodo v tem jeziku in ustvari abstraktno drevo sintakse. GCC uporablja razčlenjevalnike LALR, vendar je počasi prešel na parserje s rekurzivnim spuščanjem za C v letu 2006. Po delu za optimizacijo, kot je že znano, se lahko to zgodi v kateri koli fazi kompilacije. Vendar se tu v glavnem opravijo optimizacije pred generiranjem kode in po sintaksi, semantična analiza. Spodaj je nekaj optimizacij, ki jih izvaja GCC.

  1. Odstrani lahko del mrtve kode.
  2. Odpravi odveč na ravni kode.
  3. Zamenjava agregatov glede na skalarno raven.
  4. Lahko izvede optimizacije z Arrays.

V GCC je zadnji del določen s pomočjo makrov predhodnika in funkcij, značilnih za določeno arhitekturo. Ta koda je navadno sestavljena tako, da najprej pokličete majhno kodo odrezka, ki je povezana z vsakim vzorcem in ustvarite navodila iz nabora navodil. Izvaja se s pomočjo registrov, odmikov in naslovov, ki so izbrani v fazi ponovnega nalaganja. Trenutna različica GCC je 9.2, ki je izšla 12. avgusta 2019.

5) Kleng

  1. Clang; vključno s C, je tudi prevajalnik za programske jezike C ++, Objective-C in target-C ++. Ta prevajalnik uporablja LLVM za kompilacije, povezane z zadnjo kodo. Ta prevajalnik je zasnovan tako, da deluje kot nadomestek za GCC, saj podpira številne njegove kompilacijske zastave in jezikovne razširitve.
  2. Clang ima veliko sodelavcev, vključno z Apple, Microsoft, Google, Sony in Intel. Je odprtokodna programska oprema. LCC je najprej uporabil LCC za kompilacijo sprednjega dela, vendar je GCC povzročal nekaj težav razvijalcem pri Apple-u, saj je izvorna koda velika in težavna za uporabo. Torej, prišla sta k Clangu.
  3. Eden glavnih ciljev Clang je zagotoviti arhitekturo, ki temelji na knjižnici. Zasnovan je tako, da med postopkom sestavljanja hrani več informacij kot GCC. To pomaga tudi ohraniti celotno obliko izvirne kode.
  4. Poročilo o napaki, ki ga je Clang ustvaril med kompilacijo, je vedno podrobno in specifično v strojno berljivi obliki. Clang si je od nekdaj prizadeval zmanjšati prekomerno porabo pomnilniškega prostora in povečati hitrost kompilacije v primerjavi z GCC, zaradi teh lastnosti pa je v določenem času postal eden najhitreje rabljenih prevajalnikov. Toda v nekem obdobju je začela uspešnost Clanga upadati. Poročila navajajo, da je uspešnost zaostajala s skoraj velikimi razlikami v primerjavi z GCC in je začela počasneje. Najnovejše primerjave kažejo, da sta se oba prevajalca lotila svoje uspešnosti in ponovno ustvarila veliko konkurenco med njima. Kljub temu GCC ostaja na vrhu seznama.

Zaključek

Čeprav je za C mogoče na voljo veliko prevajalnikov, je GCC eden najboljših do zdaj. Izjava o zmagovalcu tukaj temelji na trpežnosti, optimizaciji, hitrosti in preverjanju kode / napake / skladnje. Skozi to lahko jasno razumemo, da je Compiler pomemben steber programskim jezikom. Brez njihovega dela bi kakršen koli program, ki ga napišemo, samo smeti za sistem.

Priporočeni članki

To je vodnik za najboljše C-prevajalnike. Tukaj bomo razložili razlage C Compilers s petimi kratkimi točkami. Obiščite lahko tudi drug naš predlagani članek, če želite izvedeti več -

  1. Prevajalci Python
  2. Kompilatorji Java
  3. Kako namestiti C
  4. Prednosti C
  5. Uvod v PHP Compiler
  6. Kompilatorji JavaScript