Kas yra programavimo kompiliatorius?

Kompiliatorius yra programinė įranga, kuri konvertuoja žmogaus programuotojo parašytą kompiuterio programavimo kodą į dvejetainį kodą (mašininį kodą), kurį galima suprasti ir vykdyti konkrečiu procesoriumi. Transformacijos aktas pirminis kodas į mašininį kodą vadinamas „kompiliacija“. Kai visas kodas yra transformuojamas vienu metu, kol jis pasiekia jį paleidžiančias platformas, procesas vadinamas priešlaikinio (AOT) kompiliacija.

Kurios programavimo kalbos naudoja AOT kompiliatorių?

Daugeliui gerai žinomų programavimo kalbų reikia kompiliatoriaus, įskaitant:

  • Fortranas
  • Paskalis
  • Surinkimo kalba
  • C
  • C ++
  • Greitas

Prieš „Java“ ir „C #“ visos kompiuterinės programos buvo arba sudaromos, arba interpretuojama.

O kaip su aiškintu kodu?

Išaiškintas kodas vykdo instrukcijas programoje, nekompilifikuodamas jų mašinine kalba. Interpretuotas kodas tiesiogiai analizuoja šaltinio kodą, yra suporuotas su virtualia mašina, kuri vykdymo metu verčia mašinos kodą, arba pasinaudoja iš anksto sukompiliuotu kodu. „Java“ scenarijus paprastai aiškinamas.

instagram viewer

Kompiliuotas kodas veikia greičiau nei aiškinamas kodas, nes jo metu nereikia atlikti jokių darbų. Darbas jau padarytas.

Kurios programavimo kalbos naudoja JIT kompiliatorių?

„Java“ ir C # naudoja „just-in-time“ kompiliatorius. „Tiesiogiai laiku“ sudarytojai yra AOT sudarytojų ir vertėjų derinys. Parašius „Java“ programą, JIT kompiliatorius kodą paverčia baitiniu kodu, o ne kodu, kuriame yra nurodymai konkrečios aparatinės įrangos platformos procesoriui. Baitinis kodas nepriklauso nuo platformos ir gali būti išsiųstas bei paleistas bet kurioje platformoje, palaikančioje „Java“. Tam tikra prasme programa sudaroma dviem etapais.

Panašiai C # naudoja JIT kompiliatorių, kuris yra bendrosios kalbos vykdymo laiko dalis, kuris valdo visų .NET programų vykdymą. Kiekviena tikslinė platforma turi JIT kompiliatorių. Kol platforma gali suprasti tarpinį baitų kodų kalbos konvertavimą, programa vykdoma.

Privalumai ir trūkumai AOT ir JIT kompiliacija

Laikas prieš laiką (AOT) kompiliacija suteikia greitesnį paleidimo laiką, ypač kai didelė dalis kodo vykdoma paleidžiant. Tačiau tam reikia daugiau atminties ir daugiau vietos diske. JOT kompiliacija turi būti nukreipta į mažiausiai pajėgią iš visų galimų vykdymo platformų.

„Just-in-time“ (JIT) kompiliacija apibūdina tikslinę platformą, kol ji veikia ir perkompiliuota skriejant, kad būtų geresnis našumas. JIT sukuria patobulintą kodą, nes jis nukreiptas į dabartinę platformą, nors paleidimas paprastai užima daugiau laiko nei AOT kompiliuotas kodas.