Objectcode

Uit Wikipedia, de vrije encyclopedie
Schema met dynamische Linker

Objectcode of een objectbestand is in de informatica een representatie die een compiler of assembler heeft gegenereerd na het vertalen van een broncodebestand.[1] Een objectbestand bevat alle machinecode die gevormd kan worden uit de broncode, samen met de informatie die de linker nodig heeft om van een set objectbestanden een werkend programma of bibliotheek te maken.

Voorbeeld[bewerken | brontekst bewerken]

Bibliotheek:
ref x00001: 10101010010101001001010
ref x00002: 11001011001010110100010
Objectcode:
10010101001010001010100
ref x00001
10100101010001010010010
ref x00002
Machinecode (obj + ref):
10010101001010001010100
10101010010101001001010
10100101010001010010010
11001011001010110100010

Met een statische linker worden alle afhankelijkheden en bibliotheken gelinkt met de objectcode. Een besturingssysteem kan het uitvoerbaar bestand vervolgens zonder runtime meteen in het geheugen laden en direct starten.[2]

Machine objectcode:
10010101001010001010100
10101010010101001001010
10100101010001010010010

Formaten[bewerken | brontekst bewerken]

Voor objectcode bestaan er, net als voor broncode, vele verschillende bestandsformaten.

Windows gebruikt tegenwoordig het Portable Executable-formaat, dat zowel voor DLL's, objectcode en uitvoerbare bestanden wordt gebruikt op alle recente versies van Windows.

Voor Unix-achtige systemen (waaronder Linux) is ELF het populairste formaat, dat ook weer voor alle mogelijke binaire bestanden wordt gebruikt. ELF wordt ook op de PlayStation Portable, PlayStation 2 en enkele andere Unix-gebaseerde systemen gebruikt.