Pojem v definícii ABC
Rôzne / / July 04, 2021
Autor: Guillem Alsina González, sept. 2017
Ako môžeme vychádzať s niekým, s kým nemáme spoločný jazyk? Cez prekladateľa. Táto funkcia prekladu vykonáva a zostavovateľ premeniť sa na kód spustiteľný zdrojový kód napísaný programátorom.
Kompilácia je proces, ktorým sa vytvára program napísaný v jazyku vyššej úrovne preložený do strojového kódu použitého určitou počítačovou architektúrou na jeho vykonanie priamy.
Preto a podľa vysvetlenia, ktoré sme práve navrhli, si tento systém vyžaduje výber a architektúry destination, ktoré môžu byť v obidvoch prípadoch odlišné a prinútia nás zostavovať osobitne pre každú z rôznych architektúr, v ktorých chceme, aby náš program bežal.
Napríklad môžeme postúpiť v určitom programe pre 32-bitovú architektúru x86, 64-bitovú x86, PowerPC alebo ARM tiež rozlišujú 32 a 64 bitov, v závislosti od typu zariadenia, v ktorom chceme spustite ho.
Okrem toho musíme brať do úvahy rôzne operačné systémy, aj keď pracujeme na rovnakej platforme hardvér, pretože každý z nich má iný spôsob interakcie s fyzickým strojom
Zoberme si ako príklad 64-bitovú platformu x86. Možno budeme chcieť zostaviť pre WindowsGNU / Linux alebo macOS alebo pre každý z nich, čo znamená tri samostatné procesy kompilácie.
To nás niekedy núti mierne doladiť zdrojový kód, pričom si často ponecháme tri samostatné verzie (alebo viac, podľa toho) prípad), aby mohli správne interagovať so zvláštnosťami a rozdielmi cieľovej platformy.
Proces kompilácie sleduje sériu krokov, napríklad detekciu syntaktických chýb v zdrojovom kóde, a vopred spracované na poznanie zdrojov, ktoré program potrebuje, a nakoniec prepojenie s knižnicami a zdrojmi potrebnými na jeho vykonanie exekúcia.
Týmto spôsobom a spis spustiteľný súbor obsahujúci všetky zdrojov nevyhnutné na jeho vykonanie a pokyny potrebné na prístup k externým zdrojom, ako sú knižnice zdieľaného kódu (zdieľané).
Proces kompilácie sa vykonáva pomocou konkrétneho nástroja alebo nástrojov (kompilátor), aj keď je bežné, že je to integrované do vývojových prostredí (IDE), čo uľahčuje jeho použitie.
Každý jazyk programovanie Má vlastný kompilátor, aj keď po dlhú dobu dokázal kompilátor zodpovedajúci jazyku a prostrediu generovať spustiteľné súbory pre rôzne platformy. softvér rôzne.
Existuje alternatívna možnosť procesu zostavovania? Áno, a sú tlmočené do jazykov.
Interpretované jazyky sú tie, ktoré sú preložené za behu programu a nie sú kompilované.
Preto je ich zdrojový kód vždy k dispozícii a čo potrebujú, je v operačný systém na ktorých sú popravení, je tlmočník.
Vyhnutím sa procesu kompilácie, ak je tlmočník k dispozícii pre viac platforiem, bude možné spustiť program priamo na každom z nich, zvyčajne bez zmien.
Iné zameranie alternatívne, na polceste medzi kompilovanými a interpretovanými jazykmi, sú jazyky, ktoré na spustenie virtuálneho stroja vyžadujú napríklad Java.
Programovacie jazyky, ktoré bežia nad virtualizačnou vrstvou (virtuálny stroj), vyžadujú podobný proces ako v prípade kompilácie, ale výsledkom je kód, ktorý sa nedá priamo spustiť, aj keď je optimalizovanejší ako kód vykonaný jazykom vykladané.
V týchto prípadoch to vyžaduje proces podobný svojou formou ako kompilácia, ale ktorý dáva iný výsledok, a ktorý si v každom prípade vyžaduje inštalácia a beh programu v operačnom systéme, v ktorom chceme spustiť náš program.
Fotografie: Fotolia - Alexander Pokusay / Onot
Témy v kompilácii