Koncept i definition ABC
Miscellanea / / July 04, 2021
Af Guillem Alsina González, i sep. 2017
Hvordan kan vi komme sammen med nogen, som vi ikke har noget sprog til fælles med? Gennem en oversætter. Denne oversættelsesfunktion er det, der udfører a kompilator at blive til kode eksekverbar kildekode skrevet af en programmør.
Kompilering er den proces, hvor et program skrevet på et højt niveau sprog er oversat til maskinkoden, der bruges af en bestemt computerarkitektur, til dens udførelse direkte.
Derfor og ifølge den forklaring, vi netop har foreslået, kræver dette system valget af en arkitektur destination, som kan være forskellig i hvert tilfælde og vil tvinge os til at kompilere separat for hver af de forskellige arkitekturer, hvor vi ønsker, at vores program skal køre.
Således kan vi for eksempel gå videre på et bestemt program til 32-bit x86-arkitekturen, 64-bit x86, PowerPC eller ARM skelner også mellem 32 og 64 bit afhængigt af den type enhed, vi ønsker Kør det.
Derudover skal vi også tage de forskellige operativsystemer i betragtning, selvom vi arbejder for den samme platform hardware, da hver enkelt har en anden måde at interagere med den fysiske maskine på
Lad os tage x86 64-bit platformen som et eksempel. Vi vil måske kompilere for Windows, GNU / Linux eller macOS eller for hver enkelt af dem, hvilket involverer tre separate kompileringsprocesser.
Nogle gange tvinger dette os til at tilpasse kildekoden let og ofte holde tre separate versioner (eller mere afhængigt af sagen) for at de kan interagere korrekt med destinationsplatformens ejendomme og forskelle.
Kompileringsprocessen følger en række trin, såsom detektering af syntaktiske fejl i kildekoden, derefter en forbehandlet for at kende de ressourcer, som programmet har brug for, og endelig linket til bibliotekerne og ressourcer, der er nødvendige for dets udførelse.
På denne måde a fil eksekverbar, der indeholder alle ressourcer nødvendige for dens udførelse og de instruktioner, der er nødvendige for at få adgang til eksterne ressourcer, såsom delte kodebiblioteker (delt).
Kompileringsprocessen udføres med et bestemt værktøj eller værktøjer (kompilator), skønt det er almindeligt, at dette integreres i udviklingsmiljøer (IDE), hvilket letter dets anvendelse.
Hvert sprog i programmering Den har sin egen kompilator, selvom kompilatoren, der svarer til et sprog og miljø, i lang tid er i stand til at generere eksekverbare filer til forskellige platforme software forskellige.
Er der en alternativ mulighed for byggeprocessen? Ja, og de fortolkes sprog.
Tolkede sprog er de sprog, der oversættes ved kørsel og ikke kompileres.
Derfor er deres kildekode altid tilgængelig, og hvad de har brug for, er at i operativ system som de henrettes på, er der en tolk.
Ved at undgå kompileringsprocessen, hvis tolken er tilgængelig for flere platforme, det vil være muligt at køre programmet direkte på hver enkelt af dem, normalt uden ændringer.
Andet fokus alternativ, halvvejs mellem kompileret og fortolket sprog, er dem, der kræver, at en virtuel maskine kører for eksempel Java.
Programmeringssprog, der kører oven på et virtualiseringslag (virtuel maskine), kræver en mellemliggende proces, der ligner den kompilering, men det resulterer i en kode, der ikke er direkte eksekverbar, selvom den er mere optimeret end den, der udføres af et sprog fortolket.
I disse tilfælde kræver det en proces, der ligner den i kompilering, men det giver et andet resultat, og det kræver under alle omstændigheder stadig installation af en runtime i det operativsystem, hvor vi vil køre vores program.
Billeder: Fotolia - Alexander Pokusay / Onot
Emner i kompilering