Koncept u definiciji ABC
Miscelanea / / July 04, 2021
Napisao Guillem Alsina González, u rujnu. 2017
Kako se možemo slagati s nekim s kim nemamo zajednički jezik? Preko prevoditelja. Ova funkcija prevođenja izvršava a sastavljač pretvoriti u kodirati izvršni izvorni kod koji je napisao programer.
Kompilacija je postupak kojim se odvija program napisan na jeziku visoke razine preveden na strojni kod koji koristi određena računalna arhitektura za njegovo izvršenje direktno.
Stoga, i prema objašnjenju koje smo upravo predložili, ovaj sustav zahtijeva izbor a arhitektura odredište, koje se u svakom slučaju može razlikovati i primorat će nas da sastavljamo zasebno za svaku od različitih arhitektura u kojima želimo da se naš program izvodi.
Tako, na primjer, možemo napredovati na određenom programu za 32-bitnu x86 arhitekturu, 64-bitnu x86, PowerPC ili ARM također razlikuju 32 i 64 bita, ovisno o vrsti uređaja u kojem želimo pokrenite ga.
Uz to, moramo uzeti u obzir i različite operativne sustave, čak i ako radimo za istu platformu hardver, budući da svaki ima drugačiji način interakcije s fizičkim strojem
Uzmimo za primjer 64-bitnu platformu x86. Možda bismo htjeli kompilirati za Windows, GNU / Linux ili macOS, ili za svaki od njih, što podrazumijeva tri odvojena postupka kompilacije.
Ponekad nas to prisiljava da malo prilagodimo izvorni kod, često zadržavajući tri zasebne verzije (ili više, ovisno o slučaj) kako bi mogli ispravno komunicirati s osobenostima i razlikama odredišne platforme.
Proces kompilacije slijedi niz koraka, poput otkrivanja sintaktičkih pogrešaka u izvornom kodu, a zatim unaprijed obrađena kako bi znala resurse koji su potrebni programu, i konačno veza s knjižnicama i resursima potrebnim za njegov rad izvršenje.
Na taj način, a datoteka izvršna datoteka koja sadrži sve resursi potrebne za njegovo izvršavanje i upute potrebne za pristup vanjskim resursima, poput zajedničkih knjižnica koda (podijeljeni).
Postupak kompilacije vrši se pomoću određenog alata ili alata (kompajler), iako je uobičajeno da se to integrira u razvojna okruženja (IDE), što olakšava njegova upotreba.
Svaki jezik programiranje Ima svoj vlastiti prevodilac, iako je već dugo vremena prevodilac koji odgovara jeziku i okruženju mogao generirati izvršne datoteke za razne platforme. softver drugačiji.
Postoji li alternativna opcija za postupak gradnje? Da, i to su tumačeni jezici.
Tumačeni jezici su oni koji se prevode u vrijeme izvođenja, a ne prevode.
Stoga je njihov izvorni kod uvijek dostupan, a ono što im treba je ono u operacijski sustav na kojem su pogubljeni, postoji tumač.
Izbjegavanjem postupka kompilacije, ako je tumač dostupan za više platformi, program će biti moguće izravno pokrenuti na svakom od njih, obično bez promjena.
Ostalo usredotočenost Alternativa, na pola puta između prevedenih i protumačenih jezika, su oni kojima je potreban virtualni stroj za pokretanje, na primjer, Jave.
Programski jezici koji se izvode na vrhu sloja virtualizacije (virtualni stroj) zahtijevaju međuproces sličan onome u kompilacija, ali to rezultira kodom koji nije izravno izvršan, iako je optimiziran od onoga koji izvršava jezik protumačio.
U tim slučajevima zahtijeva postupak sličan obliku kompilacije, ali koji daje drugačiji rezultat i koji u svakom slučaju zahtijeva montaža od a vrijeme izvođenja u operativnom sustavu u kojem želimo pokrenuti naš program.
Fotografije: Fotolia - Alexander Pokusay / Onot
Teme u kompilaciji