Linker, loader en uitvoerbare formaten
Welke omschrijving van de relocatie die de linker uitvoert, is juist?
- ANadat de definitieve adressen van code en data zijn bepaald, worden de adressen in instructies en data herschreven naar de juiste waarden
- BTijdens uitvoering wordt het programma naar een andere computer verplaatst en daar voortgezet
- CWanneer het geheugen tekortschiet, worden pagina's naar opslag verplaatst
Antwoord en toelichting tonen
Antwoord: A. Nadat de definitieve adressen van code en data zijn bepaald, worden de adressen in instructies en data herschreven naar de juiste waarden
De compiler maakt elk bestand alsof het op adres 0 begint en legt de plaatsen waar adressen van functies in andere bestanden of van eigen variabelen worden gebruikt vast als relocatie-informatie. Nadat de linker alle bestanden achter elkaar heeft gezet en de werkelijke adressen heeft bepaald, berekent hij voor elke vastgelegde plaats het juiste adres (of de afstand vanaf PC) en schrijft dat in de instructie. Bij dynamisch linken wordt een deel van dit soort herschrijving tijdens uitvoering door de dynamische linker gedaan.
Verder: nog 9 vragen over Linker, loader en uitvoerbare formaten