Pagrindinis skirtumas – Linker vs Loader
Kompiuterinė programa naudojama nurodymams kompiuteriui duoti. Jis parašytas naudojant tam tikrą programavimo kalbą. Tokios programavimo kalbos kaip C, Java yra aukšto lygio programavimo kalbos ir suprantamos žmonėms, bet ne kompiuteriui. Todėl aukšto lygio programa paverčiama mašinine kalba naudojant kalbos vertėją. Programa, parašyta naudojant aukšto lygio kalbą, yra š altinio kodas. Po konvertavimo išverstas kodas vadinamas objekto kodu. Linker ir loader yra dvi programinės įrangos programos, naudojamos programai vykdyti. Šiame straipsnyje aptariamas skirtumas tarp Linker ir Loader. Linker yra programinė įranga, kuri susieja objekto kodą su papildomais failais, pvz., antraštės failais, ir sukuria vykdomąjį failą su plėtiniu.exe. Įkroviklis yra sistemos programinė įranga, kuri į pagrindinę atmintį įkelia linkerio sugeneruotą vykdomąjį failą. Tai yra pagrindinis skirtumas tarp Linker ir Loader.
Kas yra Linker?
Kompiuterio programa yra instrukcijų rinkinys, duodamas kompiuteriui atlikti tam tikrą užduotį. Kompiuterinę programą galima parašyti naudojant programavimo kalbą. Dauguma programavimo kalbų yra aukšto lygio programavimas. Programuotojas juos lengvai supranta ir skaito. Šios kalbos sintaksė panaši į anglų kalbą. Kai kurie aukšto lygio kalbų pavyzdžiai yra Java, C ir Python. Programa, parašyta naudojant aukšto lygio programavimo kalbą, yra žinoma kaip š altinio kodas, š altinio failas arba š altinio programa. Š altinio kodo plėtinys priklauso nuo kalbos, kuria jis buvo sukurtas. Jei š altinio kodas parašytas C++, tada failo plėtinys yra.cpp. Jei š altinio kodas parašytas Python, plėtinys yra.py.
Net š altinio kodas yra suprantamas programuotojui; kompiuteriui tai nesuprantama. Todėl š altinio kodas turėtų būti konvertuojamas į mašinai suprantamą formatą naudojant kalbos vertėją. Tai gali būti kompiliatorius arba vertėjas. Išverstas kodas yra žinomas kaip objekto kodas. Objekto kodas yra mašinine kalba. Jį sudaro nuliai ir vienas. Kompiuteris gali tiesiogiai suprasti objekto kodą. Jis turi plėtinį.obj. Jei yra š altinio kodas kaip Test.c, jis eina per kompiliatorių ir konvertuotas kodas tampa Test.obj.
Linker yra programinė įranga, kuri susieja objekto kodą su papildomais failais, pvz., antraštės failais, ir sukuria vykdomąjį failą su plėtiniu.exe. Programa galėjo naudoti įmontuotas funkcijas. Šių integruotų funkcijų funkcijos yra antraštės failuose. Pagal aukščiau pateiktą pavyzdį objekto kodas, kuris yra Test.obj pridedamas su reikalingais antraščių failais naudojant Linker. Tai sukuria naują failą, vadinamą Test.exe. Tai vykdomasis failas. Todėl jį gali vykdyti kompiuteris.
Kas yra įkroviklis?
Programa, kuri turėtų būti vykdoma, turi būti įdėta į atmintį. Linker susieja objekto kodo ir antraštės failus ir išveda vykdomąjį failą. Įkroviklis yra sistemos programinė įranga, kuri į pagrindinę atmintį įkelia linkerio sugeneruotą vykdomąjį failą. Jis paskirsto atminties vietą vykdomajam moduliui pagrindinėje atmintyje. Todėl įkroviklis yra operacinės sistemos dalis, atsakinga už programų ir bibliotekų įkėlimą.
01 pav. Š altinio kodo įkėlimo į atmintį tvarka
Programos įkėlimas apima kelis veiksmus. Tai apima vykdomojo failo, kuriame yra programos instrukcija, turinio nuskaitymą į atmintį, taip pat reikiamų paruošiamųjų užduočių vykdymą vykdomajam failui paleisti. Kai įkėlimas baigtas, operacinė sistema paleidžia programą, perduodama valdymą įkeltam programos kodui. Specialios kompiuterinės sistemos, tokios kaip įterptosios sistemos, paprastai neturi kroviklių. Kodas vykdomas tiesiogiai ROM.
Koks yra ryšys tarp Linker ir Loader?
Linkerio išvestis patenka į įkroviklį
Kuo skiriasi Linker ir Loader?
Linker vs Loader |
|
Linker yra programinė įranga, kuri susieja objekto kodą su papildomais failais, pvz., antraštės failais, ir sukuria vykdomąjį failą su plėtiniu.exe. | Įkeltuvas yra sistemos programinė įranga, kuri į pagrindinę atmintį įkelia vykdomąjį failą, kurį sugeneravo susiejimas. |
Įvestis | |
Nuoroda paima kalbos vertėjo išvestį, kuri yra objekto kodas. | Įkroviklis paima išvestį iš susiejimo programos, kuri yra vykdomasis failas. |
Funkcionalumas | |
Nuoroda susieja objekto kodą ir antraštės failus ir išveda vykdomąjį failą. | Įkeltuvas į pagrindinę atmintį įkelia vykdomąjį failą, gautą iš nuorodų programos. |
Santrauka – Linker vs Loader
Linker ir Loader yra du programinės įrangos komponentai, susiję su programos vykdymu. Šiame straipsnyje aptariamas skirtumas tarp Linker ir Loader. Linker yra programinė įranga, kuri susieja objekto kodą su papildomais failais, pvz., antraštės failais, ir sukuria vykdomąjį failą su plėtiniu.exe. Įkroviklis yra sistemos programinė įranga, kuri į pagrindinę atmintį įkelia linkerio sugeneruotą vykdomąjį failą. Tai yra skirtumas tarp Linker ir Loader.