Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Čo je potrebné na premenu jazyka na vysokej úrovni na stroj, aby ho vykonali neskôr?

Ak chcete previesť jazyk na vysokej úrovni (ako Python, Java, C ++ atď.) Na strojový kód, aby sa dal vykonať, potrebujete proces zahŕňajúci jeden alebo viac z nasledujúcich krokov:

1. kompilácia: Kompilátor prekladá celý program na vysokej úrovni do strojového kódu (alebo niekedy zostavovacieho kódu, ktorý sa potom zostavuje do strojového kódu) * pred * vykonaním. To má za následok spustiteľný súbor, ktorý môže spustiť priamo procesor počítača. Zostavené jazyky vo všeobecnosti ponúkajú lepší výkon ako interpretované jazyky. Príklady kompilátorov zahŕňajú GCC (pre C/C ++) a Javac (pre Java).

2. Interpretácia: Tlmočník prekladá a vykonáva naraz program na vysokej úrovni jeden riadok (alebo príkaz). Neprodukuje samostatný spustiteľný súbor; Namiesto toho priamo vykonáva kód, keď sa prekladá. Toto je všeobecne pomalšie ako kompilácia, ale ponúka väčšiu flexibilitu, najmä pre dynamické jazyky. Python a JavaScript sú primárne interpretované jazyky, hoci na zlepšenie výkonu sa používajú niektoré techniky kompilácie Just-in-Time (JIT).

3. Just-in-time (Jit) kompilácia: Tento hybridný prístup kombinuje aspekty kompilácie a interpretácie. Kód je spočiatku interpretovaný, ale často sa vykonávajú diely do strojového kódu pre rýchlejšie vykonávanie pri nasledujúcich spusteniach. Java JVM (virtuálny stroj Java) a niektoré moderné motory JavaScript (napríklad V8 v Chrome) používajú kompiláciu JIT.

Stručne povedané, hlavnou požiadavkou je prekladateľ (kompilátor alebo tlmočník alebo systém, ktorý používa obidve). Prekladateľ berie zdrojový kód na vysokej úrovni ako vstup a vytvára priamo spustiteľný strojový kód alebo medziprodukt, ktorý je možné ďalej spracovať do strojového kódu. Tento prekladateľ musí pochopiť syntax a sémantiku jazyka na vysokej úrovni a architektúry cieľového stroja (napr. X86, ARM). Do celkového procesu sa môžu zapojiť aj podporné nástroje, ako sú linkery (na kombináciu viacerých zostavených modulov) a zostavovatelia (na prevod zostavovacieho kódu na strojový kód).

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené