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

Aký je rozdiel medzi kompiláciou a vykonaním?

Kompilácia a vykonávanie sú dve odlišné fázy v procese spustenia počítačového programu, najmä tie, ktoré sú napísané v zostavených jazykoch, ako sú C, C ++ alebo Go (na rozdiel od interpretovaných jazykov ako Python alebo JavaScript). Tu je porucha:

kompilácia:

* Čo to je: Kompilácia je proces prekladu zdrojového kódu (kód čitateľný človekom napísaný programátorom) do strojového kódu (binárne pokyny, ktorým procesor počítača môže priamo porozumieť a vykonať). Kompilátor je špeciálny program, ktorý vykonáva tento preklad.

* výstup: Výstupom kompilácie je spustiteľný súbor (napr. Súbor `.exe` v systéme Windows alebo jednoduchý binárny na Linux/MacOS). Tento súbor obsahuje pokyny strojového kódu.

* Proces: Kompilátor kontroluje zdrojový kód pre chyby (chyby syntaxe, sémantické chyby atď.). Ak sa nájdu chyby, kompilácia zlyhá a programátor musí pred tým, ako sa o to znova pokúsi, musí programátor opraviť chyby v zdrojovom kóde. Ak sa nenájdu žiadne chyby, kompilátor vygeneruje spustiteľný súbor.

* Keď sa to stane: Kompilácia sa stane * pred spustením programu. Je to samostatný krok.

Vykonanie:

* Čo to je: Vykonanie je proces skutočne spustenia kompilovaného programu. Procesor počítača načíta a vykonáva pokyny strojového kódu jeden po druhom.

* Vstup: Vstupom na vykonanie je spustiteľný súbor vytvorený počas kompilácie. Môže tiež zahŕňať vstupné údaje poskytnuté programu, keď je spustený (napr. Vstup používateľa, údaje zo súboru).

* výstup: Výstupom vykonávania môže byť veľa vecí:údaje zobrazené na obrazovke, údaje zapísané do súboru, zmeny vykonané v systéme alebo jednoducho stav výstupu programu (označujúci úspech alebo zlyhanie).

* Keď sa to stane: Vykonanie sa stane * po * kompilácii. Je to fáza, v ktorej program vykonáva svoje zamýšľané úlohy.

Analogia:

Pomyslite na písanie knihy (zdrojový kód) a potom ju vytlačte (kompilácia). Vytlačená kniha je spustiteľný súbor. Čítanie tlačenej knihy je vykonanie. Knihu nemôžete prečítať (vykonať), kým nebude vytlačená (zostavená).

Interpretované jazyky:

Interpretované jazyky nemajú samostatný kompilačný krok rovnakým spôsobom. Tlmočník číta a vykoná riadok zdrojového kódu po riadku bez toho, aby vopred vytvoril samostatný spustiteľný súbor. Niektoré interpretované jazyky však používajú kompiláciu Just-in-Time (JIT) na zlepšenie výkonu zostavením častí kódu do strojového kódu počas vykonávania. Ale aj pri JIT je rozlíšenie medzi krokom prekladu a krokom vykonávania menej jasné ako v zostavených jazykoch.

Najnovšie články

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