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" -filudvidelse. Der er dog flere forskellige formater til disse filer. Det mest almindelige er Intel® Refocatable Object Module Format (OMF), og det almindelige objektfilformat (COFF) for Windows & Reg og UNIX® System V. I mange Inix® -systemer er det eksekverbare og linkable format (ELF) kommet til at erstatte COFF.

Uanset format indeholder en objektfil typisk tre typer informationDet giver det 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 sammenkoblede 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 programmeringssprogKom med et standardbibliotek med funktioner.

Ved hjælp af dynamisk forbindelse 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øet er disse kendt som dynamiske linkbiblioteker og betegnes med en ".dll" -udvidelse. Systemer, der ligner UNIX®, betegner 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 programmets installation.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?