Skip to main content

Vad är en objektfil?

En objektfil är en datorfil som genereras av ett program som kallas en kompilator och innehåller data såväl som instruktioner.Kompilatorer översätter programmeringsspråkkod till en mellanliggande maskinläsbar form som kallas objektkod.Mindre program kan sammanställas i en enda objektfil, medan större program vanligtvis sammanställs i flera filer med relaterad funktion.Dessa enskilda objektfiler förenas av en länkare och operativsystemets specifika information läggs till för att bilda ett körbart program.

I vanlig praxis betecknas en objektfil med en .obj -filförlängning.Det finns dock flera olika format för dessa filer.De vanligaste är Intel RELOCATABLE Object Module Format (OMF) och det vanliga objektfilformatet (Coff) för Windows Reg och Unix System V. I många Inix System, det körbara och länkbara formatet (ELF) har kommit för att ersätta Coff.

Oavsett format innehåller en objektfil vanligtvis tre typer av information som gör att den kan interagera med andra programmoduler.Förfaranden och data som är öppna för referens utanför tilldelas namn som de kan kallas från andra moduler.På liknande sätt noteras referenser till information utanför modulen men tilldelas inte ett namn.När filerna är länkade tilldelas de namngivna referenserna namnet som ges dem i modulen där de ursprungligen definierades.Lokala namn används för instruktioner och data som endast hänvisas till i en modul.

inte all länkbar kod lagras som objektfiler.Bibliotek är samlingar av förkompilerade rutiner som lagras som objektkod.De produceras på ungefär samma sätt som objektfiler och är användbara för att lagra ofta kallade procedurer.När en länk inte hittar en referens inom andra objektfiler söker den automatiskt efter den i en biblioteksfil.De flesta implementeringar av ett programmeringsspråk har ett standardbibliotek med funktioner.

Med hjälp av dynamisk länk kan en objektfil samtidigt användas av flera exekveringsprogram.Istället för att binda objektkod till ett program när det är länkat, är det hämtat när programmet laddas eller vid körning när en procedur refereras.I Windows Miljö, dessa är kända som dynamiska länkbibliotek och betecknas med en .dll -förlängning.System som liknar Unix Term ofta denna typ av fil A Dynamic Shared Object (DSO).Denna typ av objektfil kan också implementeras för användning med ett visst program och skulle vara en del av den programinstallationen.