Hva er forskjellen mellom Linker Loader og Compiler

Hovedforskjellen mellom linker loader og compiler er at linker kombinerer en eller flere objektfiler generert av kompilatoren til en enkelt kjørbar fil. I mellomtiden plasserer en laster programmene i minnet og forbereder dem til utførelse mens kompilatoren konverterer kildekoden til objektkode.

Et dataprogram er en samling instruksjoner som utfører en bestemt oppgave når datamaskinen utfører den. Et systemprogramvare er en type dataprogram som gir en plattform til annen programvare. Linker, loader og compiler er tre systemprogrammer knyttet til dataprogrammering.

Nøkkelområder dekket

1. Hva er en kompilator
     - Definisjon, funksjonalitet
2. Hva er en Linker
     - Definisjon, funksjonalitet
3. Hva er en Loader
     - Definisjon, funksjonalitet
4. Hva er forskjellen mellom Linker Loader og Compiler
     - Sammenligning av nøkkelforskjeller

Nøkkelord

Kompilator, Linker, Loader

Hva er en kompilator

Et program er et sett med instruksjoner for å utføre en bestemt oppgave. Det er også kjent som kildekoden. Programmereren kan forstå kildekoden, men CPU kan ikke forstå det. Derfor er det nødvendig å konvertere kildekoden til maskinforståelig format.

Figur 1: Kompilator

En kompilator er en spesiell programvare som brukes i denne prosessen. Den konverterer kildekoden til objektkode. Denne objektkoden er en mellomkode. CPUen kan ikke utføre den direkte.

Hva er en Linker

Etter å ha konvertert kildekoden til objektkoden, utfører linkeren koblingsoppgaven. Det tar en eller flere objektfiler generert av kompilatoren og kombinerer dem sammen for å generere en kjørbar fil.

Figur 2: Linker

Videre kombinerer den objektkodene med biblioteker. For eksempel, i et C-program, hvis det er sqrt () -funksjon for å beregne kvadratroten til et tall, kobler linkeren programmet med matematikkbiblioteket. Endelig kan CPUen lese og forstå den genererte kjørbare filen. Derfor kan CPUen utføre den filen for å utføre oppgaven som er definert i programmet. 

Hva er en Loader

En loader lokaliserer programmer i minnet og forbereder dem til utførelse. Det er en viktig komponent når du starter et program. Den inneholder oppgaver som å lese innholdet i den kjørbare filen og plassere filen i minnet. Videre utfører den nødvendige oppgaver for å forberede den kjørbare filen for å kjøre. Etter at lastingen er fullført starter operativsystemet programmet ved å sende kontrollen til den lastede programkoden.

Figur 3: Samling

De fleste operativsystemer støtter lastere for å laste inn programmer. De fleste systemer har lasteren plassert i minnet, mens andre som støtter virtuelt minne, har lasteren i en sidebar minnesregion.

Forskjellen mellom Linker Loader og Compiler

Definisjon

En linker er et dataprogramvare som tar en eller flere objektfiler generert av en kompilator og kombinerer dem til en enkelt kjørbar fil. En laster er en del av et operativsystem som er ansvarlig for å laste inn programmer til minnet. En kompilator er en programvare som forvandler datakode skrevet på ett programmeringsspråk (kildekode) til et annet programmeringsspråk (målkode). Dermed forklarer dette hovedforskjellen mellom linker loader og compiler.

funksjonalitet

Videre kombinerer en linker flere objektkoder og lenker dem med biblioteker. I mellomtiden forbereder en laster den kjørbare filen for å kjøre mens en kompilator forvandler kildekoden til objektkode. Derfor er dette forskjellen mellom linker loader og compiler når det gjelder funksjonalitet. 

Konklusjon

Kort sagt, forskjellen mellom linker loader og compiler er at en linker kombinerer en eller flere objektfiler generert av kompilatoren til en enkelt kjørbar fil, og en loader plasserer programmene i minnet og forbereder dem til utførelse mens en kompilator konverterer kildekoden til objektkode.

Henvisning:

1. "Linker (Computing)." Wikipedia, Wikimedia Foundation, 6 Okt. 2018, Tilgjengelig her.
2. "Loader (Computing)." Wikipedia, Wikimedia Foundation, 10. oktober 2018, Tilgjengelig her.
3. "Compiler." Wikipedia, Wikimedia Foundation, 9. oktober 2018, Tilgjengelig her.

Bilde Courtesy:

1. "Ideal compiler." (CC BY-SA 3.0) via Commons Wikimedia
2. "Linker" Av Qef - Egentlig arbeid av opplasteren, basert på arrangementet av en bitmapekvivalent av Orderud (Public Domain) via Commons Wikimedia
3. "Screenshot-turbo51.com 2016-01-14 18-44-16" Av անհայտ - Aho, Sethi, Ullman, kompilatorer: prinsipper, teknikker og verktøy, Addison-Wesley, 1986. ISBN 0-201-10088- 6 (CC BY-SA 4.0) via Commons Wikimedia