Objektum modul

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. március 29-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

Objektummodul (más néven - objektumfájl , angol  objektumfájl ) - egy különálló programmodul köztes reprezentációjával rendelkező fájl, amely a forráskód fordító általi feldolgozása eredményeként keletkezik . Egy objektumfájl speciálisan elkészített kódot tartalmaz (gyakran binárisnak vagy binárisnak nevezik ), amely összekapcsolható más objektumfájlokkal egy linker ( linker ) segítségével, hogy kész végrehajtható modult vagy könyvtárat kapjunk.

Az objektumfájlok gépi kódok és adatok blokkjai, amelyekben nem definiált címek találhatók más objektummodulokban lévő adatokra és eljárásokra, valamint ezek eljárásainak és adatainak listája. A linker minden objektummodul kódját és adatait egy végső programba állítja össze, és kiszámítja és feltölti a modulok közötti kereszthivatkozási címeket. A statikus könyvtárakkal való összekapcsolást a linker vagy linker végzi (amely lehet önálló program vagy a fordító része), míg az operációs rendszerrel és a dinamikus könyvtárakkal való összekapcsolás futás közben, a program memóriába való betöltése után történik.

A programozó fordító vagy assembler segítségével állít elő objektumkódot. Például Linuxon a GNU Compiler Collection fordítója ELF formátumot használó .o fájlokat generál. A Windows alatti fordítás során a COFF formátumú .obj fájlokat készítjük. A linkert ezután arra használják, hogy az objektumkódot egyetlen végrehajtható programba vagy könyvtárba vonják össze, szükség szerint kibontva az előre lefordított rendszerkönyvtárakat.

Számos különböző objektumfájl-formátum létezik; Eredetileg minden számítógéptípusnak megvolt a maga egyedi formátuma, de a Unix és más hordozható operációs rendszerek megjelenésével bizonyos formátumokat, például az ELF-et és a COFF-ot különböző típusú rendszereken határozták meg és használták. Ugyanaz a formátum használható a linker bemenetére és kimenetére, így a könyvtár és a végrehajtható fájl formátumára is. Egyes formátumok gépi kódot tartalmazhatnak különböző processzorokhoz, és a megfelelő változatot az operációs rendszer választja ki a program betöltésekor [1] .

Lásd még

Jegyzetek

  1. A DB2 Universal Database 6.1-es verziójának telepítése Red Hat Linux  rendszeren // DBAs Útmutató az adatbázisokhoz Linux alatt. - Elsevier, 2000. - S. 237-282 .