Mi az a programozási fordító?

A fordító olyan szoftver, amely az emberi programozó által írt számítógépes programozási kódot bináris kódmá (gépi kódmá) alakítja, amelyet egy adott CPU megért és meg tudja valósítani. Az átalakulás cselekedete forráskód a gépi kódba "fordítás". Amikor az összes kódot egy időben átalakítják, mielőtt elérnék azt futtató platformokat, a folyamatot idő előtti (AOT) fordításnak hívják.

Mely programozási nyelvek használnak AOT-fordítót?

Sok jól ismert programozási nyelvnek szüksége van egy fordítóra, beleértve:

  • Fortran
  • Pascal
  • Assembly nyelv
  • C
  • C ++
  • Gyors

A Java és a C # előtt az összes számítógépes programot vagy összeállították, vagy pedig értelmezhető.

Mi a helyzet az értelmezett kóddal?

Az értelmezett kód végrehajtja az utasításokat egy programban anélkül, hogy azokat gépi nyelvre fordítanák. Az értelmezett kód közvetlenül elemzi a forráskódot, párosul egy virtuális géppel, amely lefordítja a gép kódját a végrehajtás idején, vagy kihasználja az előre összeállított kódot. Javascript általában értelmezik.

instagram viewer

A lefordított kód gyorsabban fut, mint az értelmezett kód, mivel a művelet végrehajtásának pillanatában nem kell semmilyen munkát tennie. A munka már megtörtént.

Mely programozási nyelvek használják a JIT fordítót?

Jáva és a C # csak az időben fordítókat használ. A pontos időben történő fordítók az AOT fordítók és tolmácsok kombinációja. A Java program megírása után a JIT fordító a kódot bájtkódká alakítja, nem pedig olyan kódmá, amely egy adott hardverplatform processzorának utasításokat tartalmazza. A bájtkód platformfüggetlen, és bármilyen platformon elküldhető és futtatható, amely támogatja a Java-t. Bizonyos értelemben a program két szakaszból áll.

Hasonlóképpen, a C # egy JIT fordítót is használ, amely a Common Language Runtime része, amely kezeli az összes .NET alkalmazás végrehajtását. Minden célplatformnak van JIT fordítója. Mindaddig, amíg a platform megérti a közbenső bájtkód-nyelv konvertálást, a program fut.

Az AOT és a JIT összeállításának előnyei és hátrányai

Az idő előtti (AOT) fordítás gyorsabb indítási időt biztosít, különösen akkor, ha a kód nagy része végrehajtáskor indul. Ez azonban több memóriát és több lemezterületet igényel. A JOT-összeállításnak a lehető legkevésbé képesnek kell lennie az összes lehetséges végrehajtási platformon.

A Just-in-time (JIT) fordítás profilozza a célplatformot, miközben repüléssel fut és újra összeállítja a jobb teljesítményt. A JIT továbbfejlesztett kódot generál, mivel az a jelenlegi platformon célozza meg, bár általában több időbe telik a futtatása, mint az AOT által összeállított kód.

instagram story viewer