Wat is het verschil tussen Linker Loader en Compiler

Het belangrijkste verschil tussen linker loader en compiler is dat de linker combineert een of meer objectbestanden gegenereerd door de compiler naar een enkel uitvoerbaar bestand. Ondertussen plaatst een loader de programma's in het geheugen en bereidt ze voor op uitvoering terwijl de compiler de broncode omzet in objectcode.

Een computerprogramma is een verzameling instructies die een specifieke taak uitvoeren wanneer de computer het uitvoert. Een systeemsoftware is een type computerprogramma dat een platform biedt voor andere software. Linker, loader en compiler zijn drie systeemsoftware die is gekoppeld aan computerprogrammering.

Key Areas Covered

1. Wat is een compiler
     - Definitie, functionaliteit
2. Wat is een Linker
     - Definitie, functionaliteit
3. Wat is een lader
     - Definitie, functionaliteit
4. Wat is het verschil tussen Linker Loader en Compiler
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Compiler, Linker, Loader

Wat is een compiler

Een programma is een set instructies om een ​​bepaalde taak uit te voeren. Het is ook bekend als de broncode. De programmeur kan de broncode begrijpen, maar de CPU kan het niet begrijpen. Daarom is het noodzakelijk om de broncode te converteren naar een door de machine te begrijpen indeling.

Figuur 1: Compiler

Een compiler is een speciale software die in dit proces wordt gebruikt. Het converteert de broncode in objectcode. Deze objectcode is een tussencode. De CPU kan het niet rechtstreeks uitvoeren.

Wat is een Linker

Na het converteren van de broncode in de objectcode, voert de linker de koppelingstaak uit. Het vereist een of meer objectbestanden die door de compiler zijn gegenereerd en combineert ze samen om een ​​uitvoerbaar bestand te genereren.

Figuur 2: Linker

Bovendien combineert het de objectcodes met bibliotheken. Als er bijvoorbeeld in een C-programma een sqrt () -functie is om de vierkantswortel van een getal te berekenen, koppelt de linker het programma aan de wiskundebibliotheek. Ten slotte kan de CPU het gegenereerde uitvoerbare bestand lezen en begrijpen. Daarom kan de CPU dat bestand uitvoeren om de taak uit te voeren die in het programma is gedefinieerd. 

Wat is een lader

Een loader lokaliseert programma's in het geheugen en bereidt ze voor op uitvoering. Het is een belangrijk onderdeel bij het starten van een programma. Het bevat taken zoals het lezen van de inhoud van het uitvoerbare bestand en het plaatsen van het bestand in het geheugen. Bovendien voert het de nodige taken uit om het uitvoerbare bestand gereed te maken voor gebruik. Nadat het laden is voltooid, start het besturingssysteem het programma door het besturingselement door te geven aan de geladen programmacode.

Figuur 3: Compilatie

De meeste besturingssystemen ondersteunen laders om programma's te laden. De meeste systemen hebben de lader in het geheugen, terwijl andere die virtueel geheugen ondersteunen, de lader in een pageable geheugengebied hebben.

Verschil tussen Linker Loader en Compiler

Definitie

Een linker is een computerhulpprogramma dat een of meer objectbestanden neemt die zijn gegenereerd door een compiler en deze combineert in een enkel uitvoerbaar bestand. Een lader maakt deel uit van een besturingssysteem dat verantwoordelijk is voor het laden van programma's in het geheugen. Een compiler is een software die de computercode, geschreven in één programmeertaal (broncode), transformeert naar een andere programmeertaal (doelcode). Dit verklaart dus het belangrijkste verschil tussen linker loader en compiler.

functionaliteit

Verder combineert een linker meerdere objectcode en koppelt deze met bibliotheken. Ondertussen bereidt een loader het uitvoerbare bestand voor terwijl een compiler de broncode omzet in objectcode. Daarom is dit het verschil tussen linker loader en compiler in termen van functionaliteit. 

Conclusie

Kort gezegd, het verschil tussen linker loader en compiler is dat een linker een of meer objectbestanden combineert die door de compiler zijn gegenereerd naar een enkel uitvoerbaar bestand en een loader de programma's in het geheugen plaatst en ze voorbereidt voor uitvoering terwijl een compiler de broncode converteert naar voorwerp code.

Referentie:

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

Afbeelding met dank aan:

1. "Ideale compiler." (CC BY-SA 3.0) via Commons Wikimedia
2. "Linker" door Qef - Eigen werk door uploader, gebaseerd op de rangschikking van een bitmap-equivalent door Orderud (Public Domain) via Commons Wikimedia
3. "Screenshot-turbo51.com 2016-01-14 18-44-16" door անհայտ - Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986. ISBN 0-201-10088- 6 (CC BY-SA 4.0) via Commons Wikimedia