A Linker és a Loader közötti különbség

Tartalomjegyzék:

A Linker és a Loader közötti különbség
A Linker és a Loader közötti különbség

Videó: A Linker és a Loader közötti különbség

Videó: A Linker és a Loader közötti különbség
Videó: Linker & Loader with example 2024, November
Anonim

Kulcs különbség – Linker vs Loader

A számítógépes program utasításokat ad a számítógépnek. Egy adott programozási nyelv használatával van megírva. Az olyan programozási nyelvek, mint a C, a Java magas szintű programozási nyelvek, és érthetőek az emberek számára, de a számítógép számára nem. Ezért egy magas szintű programot egy nyelvi fordító segítségével gépi nyelvre alakítanak át. A magas szintű nyelven írt program forráskód. Az átalakítás után a lefordított kódot objektumkódnak nevezzük. A linker és a betöltő két szoftverprogram, amelyeket a program végrehajtására használnak. Ez a cikk a Linker és a Loader közötti különbséget tárgyalja. A Linker az a szoftver, amely összekapcsolja az objektumkódot további fájlokkal, például fejlécfájlokkal, és létrehoz egy végrehajtható fájlt.exe kiterjesztéssel. A betöltő az a rendszerszoftver, amely a linker által generált végrehajtható fájlt betölti a fő memóriába. Ez a legfontosabb különbség a Linker és a Loader között.

Mi az a Linker?

A számítógépes program egy adott feladat végrehajtásához a számítógépnek adott utasítások halmaza. Számítógépes program írható programozási nyelv segítségével. A legtöbb programozási nyelv magas szintű programozás. A programozó számára könnyen érthetőek és olvashatók. Ezek a nyelvek az angolhoz hasonló szintaxist követnek. Néhány példa a magas szintű nyelvekre a Java, a C és a Python. A magas szintű programozási nyelvvel írt programot forráskódnak, forrásfájlnak vagy forrásprogramnak nevezzük. A forráskód kiterjesztése attól függ, hogy milyen nyelven fejlesztették ki. Ha a forráskód C++ nyelven íródott, akkor a fájl kiterjesztése.cpp. Ha a forráskód Pythonban van írva, akkor a kiterjesztés.py.

Még a forráskód is érthető a programozó számára; számítógéppel nem érthető. Ezért a forráskódot nyelvi fordító segítségével gépileg érthető formátumba kell konvertálni. Lehet fordító vagy tolmács. A lefordított kód objektumkód néven ismert. Az objektumkód gépi nyelven van. Nullákból és egyszerből áll. A számítógép közvetlenül képes megérteni az objektum kódját..obj kiterjesztéssel rendelkezik. Ha van egy forráskód Test.c néven, az átmegy a fordítón, és az átalakított kódból Test.obj.

A Linker az a szoftver, amely összekapcsolja az objektumkódot további fájlokkal, például fejlécfájlokkal, és létrehoz egy végrehajtható fájlt.exe kiterjesztéssel. Lehetséges, hogy a program beépített funkciókat használt. A beépített funkciók funkciói a fejlécfájlokban találhatók. A fent kifejtett példa szerint az objektumkód, amely a Test. Az obj hozzáadásra kerül a szükséges fejlécfájlokkal a Linker segítségével. Létrehoz egy új, Test.exe nevű fájlt. Ez egy végrehajtható fájl. Ezért a számítógép végrehajtja.

Mi az a Loader?

Egy programot, amelyet végre kell hajtani, el kell helyezni a memóriába. A linker összekapcsolja az objektumkód- és fejlécfájlokat, és kiadja a végrehajtható fájlt. A betöltő az a rendszerszoftver, amely a linker által generált végrehajtható fájlt betölti a fő memóriába. Lefoglalja a memóriaterületet a fő memóriában lévő végrehajtható modul számára. Ezért a betöltő az operációs rendszer része, amely a programok és könyvtárak betöltéséért felelős.

A Linker és a Loader közötti különbség
A Linker és a Loader közötti különbség

01. ábra: A forráskód betöltési sorrendje a memóriába

A program betöltése több lépésből áll. Ez magában foglalja a programutasítást tartalmazó futtatható fájl tartalmának beolvasását a memóriába, valamint a futtatható fájl futtatásához szükséges előkészítési feladatok elvégzését. A betöltés befejeztével az operációs rendszer elindítja a programot azáltal, hogy átadja a vezérlést a betöltött programkódnak. A speciális számítógépes rendszerek, például a beágyazott rendszerek általában nem rendelkeznek betöltőkkel. A kódot közvetlenül a ROM hajtja végre.

Mi a kapcsolat a linker és a betöltő között?

A Linker kimenete a betöltőhöz megy

Mi a különbség a Linker és a Loader között?

Linker vs Loader

A Linker az a szoftver, amely összekapcsolja az objektumkódot további fájlokkal, például fejlécfájlokkal, és létrehoz egy végrehajtható fájlt.exe kiterjesztéssel. A betöltő az a rendszerszoftver, amely a linker által generált végrehajtható fájlt betölti a fő memóriába.
Bemenet
A linker veszi a nyelvi fordító kimenetét, ami az objektumkód. A betöltő a linker kimenetét veszi, amely a végrehajtható fájl.
Funkcionalitás
A linker összekapcsolja az objektumkódot és a fejlécfájlokat, és kiadja a végrehajtható fájlt. A betöltő betölti a linkerből nyert végrehajtható fájlt a fő memóriába.

Összefoglaló – Linker vs Loader

A Linker és a Loader a program végrehajtásához kapcsolódó két szoftverkomponens. Ez a cikk a Linker és a Loader közötti különbséget tárgy alta. A Linker az a szoftver, amely összekapcsolja az objektumkódot további fájlokkal, például fejlécfájlokkal, és létrehoz egy végrehajtható fájlt.exe kiterjesztéssel. A betöltő az a rendszerszoftver, amely a linker által generált végrehajtható fájlt betölti a fő memóriába. Ez a különbség a Linker és a Loader között.

Ajánlott: