Objectcode
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Linker.svg/260px-Linker.svg.png)
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.