Skip to main content

Hvad er en objektfil?

En objektfil er en computerfil genereret af et program kaldet en kompilator og indeholder data såvel som instruktioner.Kompilatorer oversætter programmeringssprogskildekode til en mellemliggende maskinlæselig form kendt som objektkode.Mindre programmer kan muligvis samles i en enkelt objektfil, mens større programmer typisk er samlet i flere filer med relateret funktion.Disse individuelle objektfiler er forbundet med en linker, og specifik information, der er specifikke oplysninger om, for at danne et eksekverbart program.

I almindelig praksis betegnes en objektfil med en .OBJ -filforlængelse.Der er dog flere forskellige formater til disse filer.De mest almindelige er Intel Relocatable Object Module Format (OMF) og det almindelige objektfilformat (COFF) af Windows Reg og Unix System V. I mange inix reg;Systemer, det eksekverbare og linkbare format (ELF) er kommet til at erstatte COFF.

Uanset format indeholder en objektfil typisk tre typer oplysninger, der giver den mulighed for at interagere med andre programmoduler.Procedurer og data, der er åbne for ekstern reference, tildeles navne, som de kan kaldes fra andre moduler.Tilsvarende bemærkes henvisninger til information uden for modulet, men tildeles ikke et navn.Når filerne er knyttet, tildeles de navngivne referencer det navn, der er givet dem i modulet, hvor de oprindeligt blev defineret.Lokale navne bruges til instruktioner og data, der kun henvises til i et modul.

Ikke alle linkbare koder gemmes som objektfiler.Biblioteker er samlinger af forudkompilerede rutiner, der er gemt som objektkode.De produceres på omtrent samme måde som objektfiler og er nyttige til opbevaring ofte kaldet procedurer.Når en linker ikke finder en reference inden for andre objektfiler, vil den automatisk søge efter den i en biblioteksfil.De fleste implementeringer af et programmeringssprog leveres med et standardbibliotek med funktioner.

Ved hjælp af dynamisk sammenkobling kan en objektfil samtidig bruges af flere eksekveringsprogrammer.I stedet for at binde objektkode til et program, når det er knyttet, er det, at det hentes, når programmet indlæses eller ved kørsel, når der henvises til en procedure.I Windows Miljø, disse er kendt som dynamiske linkbiblioteker og betegnes med en .dll -udvidelse.Systemer, der ligner Unix Begynd ofte denne type fil et dynamisk delt objekt (DSO).Denne type objektfil kan også implementeres til brug med et bestemt program og ville være en del af denne programmerinstallation.