Skip to main content

Wat is een objectbestand?

Een objectbestand is een computerbestand gegenereerd door een programma dat een compiler wordt genoemd en bevat gegevens en instructies.Compilers vertalen programmeertaalbroncode in een tussenliggende machinaalleesbaar formulier dat bekend staat als objectcode.Kleinere programma's kunnen worden gecompileerd in één objectbestand, terwijl grotere programma's meestal worden samengesteld in verschillende bestanden met gerelateerde functie.Deze individuele objectbestanden worden verbonden door een linker en het besturingssysteemspecifieke informatie wordt toegevoegd om een uitvoerbaar programma te vormen.

Gemeenschappelijk praktijk wordt een objectbestand aangegeven door een .oBJ -bestandsuitbreiding.Er zijn echter verschillende formaten voor deze bestanden.De meest voorkomende zijn de Intel Verplaatsbaar objectmodule -formaat (OMF) en het gemeenschappelijke objectbestandsformaat (Coff) van Windows Reg en Unix Systeem V. In veel Inix Systemen, het uitvoerbare en linkbare formaat (ELF) is gekomen om Coff te vervangen.

Ongeacht het formaat bevat een objectbestand meestal drie soorten informatie waarmee het kan communiceren met andere programmamodules.Procedures en gegevens die openstaan voor externe referentie zijn toegewezen namen waarmee ze vanuit andere modules kunnen worden opgeroepen.Evenzo worden verwijzingen naar informatie buiten de module genoteerd maar geen naam toegewezen.Wanneer de bestanden zijn gekoppeld, krijgen de niet -genoemde referenties de naam toegewezen in de module waar ze oorspronkelijk werden gedefinieerd.Lokale namen worden gebruikt voor instructies en gegevens waarnaar alleen in een module wordt verwezen.

Niet alle koppelingscode wordt opgeslagen als objectbestanden.Bibliotheken zijn collecties van vooraf gecompileerde routines die worden opgeslagen als objectcode.Ze worden op vrijwel dezelfde manier geproduceerd als objectbestanden en zijn nuttig voor het opslaan van vaak procedures genoemd.Wanneer een linker geen referentie vindt in andere objectbestanden, wordt deze automatisch in een bibliotheekbestand op zoek.De meeste implementaties van een programmeertaal worden geleverd met een standaardbibliotheek met functies.

Door middel van dynamische koppeling kan een objectbestand tegelijkertijd worden gebruikt door meerdere uitvoeringsprogramma's.In plaats van objectcode aan een programma te binden wanneer het wordt gekoppeld, wordt het opgehaald wanneer het programma wordt geladen of tijdens runtime wanneer naar een procedure wordt verwezen.In de Windows omgeving, deze staan bekend als dynamische linkbibliotheken en worden aangegeven met een .dll -extensie.Systemen vergelijkbaar met Unix noem dit type bestand vaak een dynamisch gedeeld object (DSO).Dit type objectbestand kan ook worden geïmplementeerd voor gebruik met een bepaald programma en zou deel uitmaken van de installatie van die programma's.