Hva er en objektfil?

En objektfil er en datamaskinfil generert av et program som heter en kompilator og inneholder data samt instruksjoner. Kompilatorer oversetter programmeringsspråkkodekode til en mellomliggende maskinlesbar skjema kjent som objektkode. Mindre programmer kan være samlet i en enkelt objektfil, mens større programmer vanligvis er samlet i flere filer med relatert funksjon. Disse individuelle objektfilene er forbundet med en linker og operativsystemets spesifikke informasjon blir lagt til for å danne et kjørbart program.

I vanlig praksis er en objektfil betegnet med en ".obj" filtyvning. Det er imidlertid flere forskjellige formater for disse filene. Det vanligste er Intel® Relocatable Object Module Format (OMF), og Common Object File Format (COFF) of Windows & Reg og UNIX® System V. I mange INIX® -systemer har det kjørbare og koblingsbare formatet (ELF) kommet for å erstatte COFF.

Uansett format, inneholder en objektfil typisk informasjon om tre typerDet lar den samhandle med andre programmoduler. Prosedyrer og data som er åpne for referanse utenfor er tildelt navn som de kan kalles fra andre moduler. Tilsvarende er referanser til informasjon utenfor modulen notert, men ikke tildelt et navn. Når filene er koblet, vil de ikke navngitte referansene bli tildelt navnet gitt dem i modulen der de opprinnelig ble definert. Lokale navn brukes til instruksjoner og data referert til utelukkende i en modul.

Ikke alle koblingskode lagres som objektfiler. Biblioteker er samlinger av forhåndskompilerte rutiner som er lagret som objektkode. De produseres på omtrent samme måte som objektfiler og er nyttige for lagring av ofte kalt prosedyrer. Når en linker ikke finner en referanse i andre objektfiler, vil den automatisk søke etter den i en bibliotekfil. De fleste implementeringer av et programmeringsspråkKom med et standardbibliotek med funksjoner.

Ved hjelp av dynamisk kobling kan en objektfil samtidig brukes av flere utførende programmer. I stedet for å binde objektkode til et program når det er koblet, er det hentet når programmet er lastet eller ved kjøretid når en prosedyre blir referert til. I Windows® -miljøet er disse kjent som dynamiske koblingsbiblioteker og er betegnet med en ".dll" -forlengelse. Systemer som ligner på UNIX® betegner ofte denne typen fil et dynamisk delt objekt (DSO). Denne typen objektfil kan også implementeres for bruk med et bestemt program og vil være en del av programmets installasjon.

ANDRE SPRÅK