Klíčový rozdíl - Linker vs Loader
K poskytování pokynů počítači se používá počítačový program. Je psán pomocí specifického programovacího jazyka. Programovací jazyky jako C, Java jsou programovací jazyky na vysoké úrovni a jsou srozumitelné lidem, ale ne počítači. Proto je program na vysoké úrovni převeden do strojového jazyka pomocí jazykového překladače. Program napsaný pomocí jazyka vysoké úrovně je zdrojovým kódem. Po převodu se přeložený kód nazývá kód objektu. Linker a loader jsou dva softwarové programy, které se používají k provádění programu. Tento článek pojednává o rozdílech mezi Linkerem a Loaderem. Linker je software, který propojuje objektový kód s dalšími soubory, jako jsou soubory záhlaví, a vytváří spustitelný soubor s příponou.exe. Zavaděč je systémový software, který načte spustitelný soubor vygenerovaný linkerem do hlavní paměti. To je klíčový rozdíl mezi Linkerem a Loaderem.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je Linker
3. Co je Loader
4. Vztah mezi Linkerem a Loaderem
5. Srovnání vedle sebe - Linker vs Loader ve formě tabulky
6. Shrnutí
Co je Linker?
Počítačový program je sada pokynů daných počítači k provedení určitého úkolu. Počítačový program lze psát pomocí programovacího jazyka. Většina programovacích jazyků je programování na vysoké úrovni. Jsou snadno srozumitelné a čitelné programátorem. Tyto jazyky dodržují syntaxi podobnou anglickému. Mezi příklady jazyků na vysoké úrovni patří Java, C a Python. Program napsaný pomocí programovacího jazyka na vysoké úrovni je známý jako zdrojový kód, zdrojový soubor nebo zdrojový program. Rozšíření zdrojového kódu závisí na jazyce, ve kterém byl vyvinut. Pokud je zdrojový kód napsán v C ++, má přípona souboru.cpp. Pokud je zdrojový kód napsán v Pythonu, je přípona.py.
I zdrojový kód je programátorovi srozumitelný; to je pro počítač nepochopitelné. Proto by měl být zdrojový kód převeden do strojově srozumitelného formátu pomocí jazykového překladače. Může to být kompilátor nebo tlumočník. Přeložený kód se označuje jako kód objektu. Objektový kód je v strojovém jazyce. Skládá se z nul a jednou. Počítač může přímo porozumět kódu objektu. Má příponu.obj. Pokud existuje zdrojový kód jako Test.c, prochází kompilátorem a převedený kód se stane Test.obj.
Linker je software, který propojuje objektový kód s dalšími soubory, jako jsou soubory záhlaví, a vytváří spustitelný soubor s příponou.exe. Program mohl použít vestavěné funkce. Funkce těchto integrovaných funkcí jsou v hlavičkových souborech. Podle výše vysvětleného příkladu je objektový kód, který je Test.obj, přidán s potřebnými hlavičkovými soubory pomocí Linkeru. Vytvoří nový soubor známý jako Test.exe. Je to spustitelný soubor. Proto je spustitelný počítačem.
Co je Loader?
Do paměti musí být umístěn program, který by měl být spuštěn. Linker propojí kód objektu a soubory záhlaví a vypíše spustitelný soubor. Zavaděč je systémový software, který načte spustitelný soubor vygenerovaný linkerem do hlavní paměti. Přiděluje paměťový prostor spustitelnému modulu v hlavní paměti. Proto je zavaděč součástí operačního systému, který je zodpovědný za načítání programů a knihoven.
Obrázek 01: Pořadí, ve kterém se zdrojový kód načte do paměti
Načtení programu zahrnuje několik kroků. Zahrnuje načtení obsahu spustitelného souboru obsahujícího programovou instrukci do paměti a také provedení nezbytných přípravných úkolů pro spuštění spustitelného souboru. Jakmile je načítání dokončeno, operační systém spustí program předáním řízení do načteného kódu programu. Speciální počítačové systémy, jako jsou vestavěné systémy, obecně nemají zavaděče. Kód se spouští přímo z ROM.
Jaký je vztah mezi linkerem a zavaděčem?
Výstup linkeru jde do zavaděče
Jaký je rozdíl mezi linkerem a zavaděčem?
Rozdílný článek uprostřed před tabulkou
Linker vs Loader |
|
Linker je software, který propojuje objektový kód s dalšími soubory, jako jsou soubory záhlaví, a vytváří spustitelný soubor s příponou.exe. | Zavaděč je systémový software, který načte spustitelný soubor vygenerovaný linkerem do hlavní paměti. |
Vstup | |
Linker převezme výstup jazykového překladače, kterým je kód objektu. | Zavaděč přebírá výstup z linkeru, což je spustitelný soubor. |
Funkčnost | |
Linker propojí kód objektu a soubory záhlaví a vydá spustitelný soubor. | Zavaděč načte spustitelný soubor získaný z linkeru do hlavní paměti. |
Shrnutí - Linker vs Loader
Linker a Loader jsou dvě softwarové komponenty související s prováděním programu. Tento článek pojednával o rozdílu mezi linkerem a zavaděčem. Linker je software, který propojuje objektový kód s dalšími soubory, jako jsou soubory záhlaví, a vytváří spustitelný soubor s příponou.exe. Zavaděč je systémový software, který načte spustitelný soubor vygenerovaný linkerem do hlavní paměti. To je rozdíl mezi Linkerem a Loaderem.