Kulcskülönbség - Linker vs Loader
Számítógépes program segítségével utasításokat ad a számítógépnek. Egy adott programozási nyelv segítségével íródik. A programozási nyelvek, mint például a C, a Java, magas szintű programozási nyelvek, és az emberek érthetik őket, de a számítógép nem. Ezért egy magas szintű program konvertálódik gépi nyelvre egy nyelvfordító segítségével. A magas szintű nyelvvel írt program forráskód. Az átalakítás után a lefordított kódot objektumkódnak hívják. A linker és a loader két olyan program, amelyet 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 az objektumkódot további fájlokkal, például fejlécfájlokkal kapcsolja össze, és.exe kiterjesztésű futtatható fájlt hoz létre. A betöltő az a rendszerszoftver, amely a linker által generált futtatható fájlt betölti a fő memóriába. Ez a legfontosabb különbség a Linker és a Loader között.
TARTALOM
1. Áttekintés és kulcsfontosságú különbségek
2. Mi a linker
3. Mi az a Loader
4. Kapcsolat a linker és a Loader között
5. Egymás melletti összehasonlítás - Linker vs Loader táblázatos formában
6. Összefoglalás
Mi a Linker?
A számítógépes program az utasítások összessége, amelyeket a számítógépnek adott feladat végrehajtására kapnak. 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ó könnyen érthető és olvasható. Ezek a nyelvek az angol nyelvhez hasonló szintaxist követnek. Néhány példa a magas szintű nyelvekre: Java, C és Python. A magas szintű programozási nyelv segítségével írt programot forráskódnak, forrásfájlnak vagy forrásprogramnak nevezik. A forráskód kiterjesztése attól a nyelvtől függ, amellyel fejlesztették. Ha a forráskódot C ++ nyelven írják, akkor a fájlkiterjesztés.cpp. Ha a forráskód Pythonba van írva, akkor a kiterjesztés.py.
Még a forráskód is érthető a programozó számára; a számítógép nem érti. Ezért a forráskódot konvertálni kell gép által érthető formátumba egy nyelvfordító segítségével. Lehet fordító vagy tolmács. A lefordított kód az objektum kódja. Az objektumkód gépnyelven van megadva. Nullákból áll, és egyszer. A számítógép közvetlenül megérti az objektum kódját. Kiterjesztése.obj. Ha van forráskód a Test.c néven, az átmegy a fordítón, és az átalakított kód a Test.obj lesz.
A Linker az a szoftver, amely az objektumkódot további fájlokkal, például fejlécfájlokkal kapcsolja össze, és.exe kiterjesztésű futtatható fájlt hoz létre. Lehet, 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 ismertetett példa szerint a Test.obj objektumkód hozzáadódik a szükséges fejlécfájlokkal a Linker segítségével. Létrehoz egy új fájlt, amelyet Test.exe néven hívnak. Ez egy futtatható fájl. Ezért a számítógép futtatható.
Mi az a Loader?
A programot, amelyet végre kell hajtani, be kell helyezni a memóriába. A linkelő összekapcsolja az objektumkódot és a fejlécfájlokat, és kimeneti a futtatható fájlt. A betöltő az a rendszerszoftver, amely a linker által generált futtatható fájlt betölti a fő memóriába. Kiosztja a memóriaterületet a fő memóriában lévő futtatható modulhoz. Ezért a betöltő az operációs rendszer része, amely felelős a programok és könyvtárak betöltéséért.
01. ábra: A forráskód memóriába töltésének sorrendje
A program betöltése több lépést tartalmaz. Ez magában foglalja a program utasítását tartalmazó futtatható fájl tartalmának memóriába olvasását, valamint a futtatható fájl futtatásához szükséges előkészítési feladatok végrehajtását. A betöltés befejezése után az operációs rendszer úgy indítja el a programot, hogy a vezérlést átadja a betöltött programkódnak. A speciális számítógépes rendszerekben, például a beágyazott rendszerekben általában nincsenek betöltők. A kódot közvetlenül a ROM hajtja végre.
Mi a kapcsolat a linkelő és a betöltő között?
A Linker kimenete a betöltőhöz kerül
Mi a különbség a linkelő és a betöltő között?
Különböző cikk a táblázat előtt
Linker vs Loader |
|
A Linker az a szoftver, amely az objektumkódot további fájlokkal, például fejlécfájlokkal kapcsolja össze, és.exe kiterjesztésű futtatható fájlt hoz létre. | A betöltő az a rendszerszoftver, amely a linker által generált futtatható fájlt betölti a fő memóriába. |
Bemenet | |
A linker veszi a nyelvfordító kimenetét, amely az objektumkód. | A betöltő a linkerről veszi a kimenetet, amely a futtatható fájl. |
Funkcionalitás | |
A linkelő összekapcsolja az objektumkódot és a fejlécfájlokat, és kimeneti a futtatható fájlt. | A betöltő a linkerről kapott futtatható fájlt betölti a fő memóriába. |
Összegzés - 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árgyalta. A Linker az a szoftver, amely az objektumkódot további fájlokkal, például fejlécfájlokkal kapcsolja össze, és.exe kiterjesztésű futtatható fájlt hoz létre. A betöltő az a rendszerszoftver, amely a linker által generált futtatható fájlt betölti a fő memóriába. Ez a különbség a Linker és a Loader között.