Linken: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
zo beter dan?
spelling
Regel 1:
'''Linken''' (Engels: ''to link'') is in [[computerjargon]] een bewerking die moet worden uitgevoerd op [[compileren|gecompileerde]] code. De [[compiler]] heeft namelijk de instructies van de [[programmeur]] wel omgezet in een door de [[computer]] uitvoerbare vorm, maar de programmeur zal nagenoeg altijd ook gebruik hebben gemaakt van reeds op de machine aanwezige programma-onderdelen zoals in- en uitvoerroutines. Deze bevinden zich in zgn ''programmabibliotheken'' of [[libraries]] en de taak van de linker is om een verwijzing naar een [[subroutine]] die niet in de code zelf aanwezig is op te lossen door in de betreffende bibliotheek te zoeken en de gezochte code aan het programma toe te voegen.
 
Het resultaat van een linkopdracht is (als alle ontbrekende routines konden worden gevonden) een bestand dat meestal bijna klaar is om te worden uitgevoerd: het enige dat soms nog moet worden gedaan is dat bij het laden het beginadres van de in het geheugen geplaatste code moet worden opgeteld bij alle in het programma voorkomende sprongen naar absolute adressen. Hiervoor bevatten veel uitvoerbare programma's een [[relocatietabel]] waarin deze adressen zijn opgesomd. Compilers leveren soms (bv doo rhet zetten van een optie) al code af met uitsluitende relatieve sprongen (dus b.v. 'spring 100 plaatsen verder' en niet 'spring naar adres 100256') waardoor dit relocatieproces niet nodig is. Andere programma's moeten perseper se vanaf een bepaalde locatie in het geheugen geladen worden. Dit zijn allemaal dingen waar programmeurs zich tegenwoordig maar zelden meer mee bezig hoeven te houden behalve in speciale omstandigheden (bv. apparaten die door een copmuterprogrammaatje bestuurd worden).