Konsept i definisjon ABC
Miscellanea / / July 04, 2021
Av Guillem Alsina González, i september. 2017
Hvordan kan vi komme sammen med noen som vi ikke har noe språk til felles med? Gjennom en oversetter. Denne oversettelsesfunksjonen er det som utfører a kompilator å forvandle seg til kode kjørbar kildekode skrevet av en programmerer.
Kompilering er prosessen som et program skrevet på et høyt nivå språk er oversatt til maskinkoden som brukes av en bestemt dataarkitektur, for utførelse direkte.
Derfor, og ifølge forklaringen som vi nettopp har foreslått, krever dette systemet valget av en arkitektur destinasjon, som kan være forskjellig i hvert tilfelle og vil tvinge oss til å kompilere separat for hver av de forskjellige arkitekturer der vi vil at programmet skal kjøre.
Dermed kan vi for eksempel gå videre på et bestemt program for 32-biters x86-arkitekturen, 64-biters x86, PowerPC eller ARM skiller også mellom 32 og 64 bits, avhengig av hvilken type enhet vi vil ha kjør den.
I tillegg må vi også ta hensyn til de forskjellige operativsystemene, selv om vi jobber for samme plattform maskinvare, siden hver enkelt har en annen måte å samhandle med den fysiske maskinen på
La oss ta x86 64-biters plattform som et eksempel. Det kan være lurt å kompilere for Windows, GNU / Linux eller macOS, eller for hver og en av dem, noe som innebærer tre separate kompileringsprosesser.
Noen ganger tvinger dette oss til å tilpasse kildekoden litt, ofte med å holde tre separate versjoner (eller flere, avhengig av saken) for at de skal kunne samhandle riktig med særegenheter og forskjeller på destinasjonsplattformen.
Kompileringsprosessen følger en rekke trinn, for eksempel å oppdage syntaktiske feil i kildekoden, deretter a forhåndsbehandlet for å kjenne ressursene som programmet trenger, og til slutt koblingen til bibliotekene og ressursene som er nødvendige for dets henrettelse.
På denne måten, a fil kjørbar som inneholder alle ressurser nødvendig for utførelse, og instruksjonene som er nødvendige for tilgang til eksterne ressurser, for eksempel delte kodebiblioteker (delt).
Kompileringsprosessen gjøres med et bestemt verktøy eller verktøy (kompilator), selv om det er vanlig at dette integreres i utviklingsmiljøer (IDE), og dermed letter bruken.
Hvert språk i programmering Den har sin egen kompilator, selv om kompilatoren som tilsvarer et språk og miljø i lang tid, har vært i stand til å generere kjørbare filer for forskjellige plattformer. programvare annerledes.
Er det et alternativ til byggeprosessen? Ja, og de er tolket språk.
Tolket språk er de som blir oversatt ved kjøretid, og ikke kompilert.
Derfor er kildekoden deres alltid tilgjengelig, og det de trenger er at i operativsystem som de blir henrettet på, er det en tolk.
Ved å unngå kompileringsprosessen, hvis tolk er tilgjengelig for flere plattformer, det vil være mulig å kjøre programmet direkte på hver og en av dem, vanligvis uten endringer.
Annen fokus alternativ, halvveis mellom kompilert og tolket språk, er de som krever en virtuell maskin for å kjøre, for eksempel Java.
Programmeringsspråk som kjører på toppen av et virtualiseringslag (virtuell maskin) krever en mellomliggende prosess som den for kompilering, men som resulterer i en kode som ikke kan kjøres direkte, men mer optimalisert enn den som er utført av et språk tolket.
I disse tilfellene krever det en prosess som er lik form for kompilering, men som gir et annet resultat, og det krever uansett installasjon av en kjøretid i operativsystemet der vi ønsker å kjøre programmet vårt.
Bilder: Fotolia - Alexander Pokusay / Onot
Emner i kompilering