Sąvoka apibrėžime ABC
Įvairios / / July 04, 2021
Autorius Guillem Alsina González, rugsėjo mėn. 2017
Kaip galime susitarti su žmogumi, su kuriuo neturime bendros kalbos? Per vertėją. Ši vertimo funkcija yra tai, kas atlieka a sudarytojas virsti kodas vykdomojo šaltinio kodas, kurį parašė programuotojas.
Kompiliavimas yra procesas, kurio metu programa yra parašyta aukšto lygio kalba išverstas į kompiuterio kodą, kurį naudoja tam tikra kompiuterio architektūra, jo vykdymui tiesioginis.
Todėl ir pagal ką tik pasiūlytą paaiškinimą, šiai sistemai reikia pasirinkti a architektūra paskirties vieta, kuri kiekvienu atveju gali būti skirtinga ir privers mus atskirai rinkti kiekvieną skirtingą architektūrą, kurioje norime paleisti mūsų programą.
Pavyzdžiui, galime pereiti prie tam tikros 32 bitų x86 architektūros programos, 64 bitų x86, „PowerPC“ arba „ARM“ taip pat diferencijuoja 32 ir 64 bitus, priklausomai nuo to, kokio tipo įrenginyje mes norime paleisk jį.
Be to, mes taip pat turime atsižvelgti į skirtingas operacines sistemas, net jei dirbame toje pačioje platformoje techninė įranga, nes kiekvienas turi skirtingą sąveikos su fizine mašina būdą
Paimkime kaip pavyzdį x86 64 bitų platformą. Galbūt norėsime sudaryti „Windows“, GNU / Linux ar macOS, arba kiekvienam iš jų, o tai reiškia tris atskirus kompiliavimo procesus.
Kartais tai priverčia mus šiek tiek pakoreguoti šaltinio kodą, dažnai išlaikant tris atskiras versijas (arba daugiau, priklausomai nuo atveju), kad jie teisingai sąveikautų su paskirties platformos ypatumais ir skirtumais.
Kompiliavimo procesas atliekamas atlikus keletą veiksmų, pavyzdžiui, nustatant sintaksės klaidas šaltinio kode, tada a iš anksto apdorotas, kad žinotų programos reikalingus išteklius ir galiausiai ryšį su bibliotekomis ir jai reikalingais ištekliais vykdymas.
Tokiu būdu a failą vykdomąjį failą, kuriame yra visi išteklių instrukcijas, reikalingas norint pasiekti išorinius išteklius, pvz., bendrų kodų bibliotekas (pasidalino).
Kompiliavimo procesas atliekamas naudojant specialų įrankį ar įrankius (kompiliatorius), nors tai įprasta integruoti į kūrimo aplinką (IDE), taip palengvinant jo naudojimas.
Kiekviena programavimas Jis turi savo kompiliatorių, nors ilgą laiką kalbą ir aplinką atitinkantis kompiliatorius sugebėjo generuoti vykdomąsias programas įvairioms platformoms. programinė įranga skirtingi.
Ar yra alternatyva kūrimo procesui? Taip, ir jos yra aiškinamos kalbos.
Interpretuojamos kalbos yra tos, kurios yra išverstos vykdymo metu ir nėra kompiliuojamos.
Todėl jų šaltinio kodas visada yra prieinamas, o jiems reikia to Operacinė sistema ant kurio jie vykdomi, yra vertėjas.
Vengdami kompiliavimo proceso, jei vertėjas yra prieinamas kelioms platformoms, programą bus galima paleisti tiesiogiai kiekviename iš jų, paprastai be pakeitimų.
Kita sutelkti dėmesį pusiaukelėje tarp kompiliuojamų ir aiškinamų kalbų yra tos kalbos, kurioms reikalinga virtuali mašina, pvz., „Java“.
Programavimo kalboms, kurios veikia virš virtualizacijos sluoksnio (virtualiosios mašinos), reikalingas tarpinis procesas, panašus į kompiliaciją, bet taip gaunamas kodas, kurio negalima tiesiogiai vykdyti, nors jis yra labiau optimizuotas nei kalbos vykdomas aiškinamas.
Šiais atvejais tam reikalingas procesas, kurio forma panaši į kompiliavimo procesą, tačiau tai duoda kitokį rezultatą ir vis tiek reikalauja, kad montavimas a vykdymo laikas operacinėje sistemoje, kurioje norime paleisti savo programą.
Nuotraukos: Fotolia - Alexander Pokusay / Onot
Kompiliavimo temos