Atšķirība starp Linker un Loader

Satura rādītājs:

Atšķirība starp Linker un Loader
Atšķirība starp Linker un Loader

Video: Atšķirība starp Linker un Loader

Video: Atšķirība starp Linker un Loader
Video: Assembler , Complier , Interpreter , Linker and Loader 2024, Novembris
Anonim

Galvenā atšķirība - Linker vs Loader

Datorprogramma tiek izmantota, lai sniegtu datoram norādījumus. Tas ir uzrakstīts, izmantojot īpašu programmēšanas valodu. Programmēšanas valodas, piemēram, C, Java ir augsta līmeņa programmēšanas valodas, un tās ir saprotamas cilvēkiem, bet ne datoram. Tāpēc augsta līmeņa programma tiek pārveidota mašīnvalodā, izmantojot valodas tulkotāju. Programma, kas rakstīta, izmantojot augsta līmeņa valodu, ir pirmkods. Pēc konvertēšanas tulkoto kodu sauc par objekta kodu. Saistītājs un ielādētājs ir divas programmatūras programmas, kuras tiek izmantotas programmas izpildei. Šajā rakstā ir apskatīta atšķirība starp Linker un Loader. Linker ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu.exe. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē linkera ģenerēto izpildāmo failu. Tā ir galvenā atšķirība starp Linker un Loader.

Kas ir Linker?

Datorprogramma ir norādījumu kopums, kas tiek dots datoram, lai veiktu noteiktu uzdevumu. Datorprogrammu var uzrakstīt, izmantojot programmēšanas valodu. Lielākā daļa programmēšanas valodu ir augsta līmeņa programmēšana. Programmētājam tie ir viegli saprotami un lasāmi. Šajās valodās tiek izmantota angļu valodai līdzīga sintakse. Daži augsta līmeņa valodu piemēri ir Java, C un Python. Programmu, kas rakstīta, izmantojot augsta līmeņa programmēšanas valodu, sauc par avota kodu, avota failu vai avota programmu. Avota koda paplašinājums ir atkarīgs no valodas, kurā tas tika izstrādāts. Ja pirmkods ir rakstīts C++ valodā, tad faila paplašinājums ir.cpp. Ja avota kods ir rakstīts Python, paplašinājums ir.py.

Pat pirmkods programmētājam ir saprotams; tas nav saprotams ar datoru. Tāpēc pirmkods ir jāpārvērš mašīn saprotamā formātā, izmantojot valodas tulkotāju. Tas var būt kompilators vai tulks. Tulkotais kods ir pazīstams kā objekta kods. Objekta kods ir mašīnvalodā. Tas sastāv no nullēm un vienreizēja. Dators var tieši saprast objekta kodu. Tam ir paplašinājums.obj. Ja ir avota kods kā Test.c, tas iet caur kompilatoru un pārveidotais kods kļūst par Test.obj.

Linker ir programmatūra, kas savieno objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu.exe. Iespējams, programma izmantoja iebūvētās funkcijas. Šo iebūvēto funkciju funkcionalitāte ir atrodama galvenes failos. Saskaņā ar iepriekš izskaidroto piemēru objekta kods, kas ir Test.obj tiek pievienots ar nepieciešamajiem galvenes failiem, izmantojot Linker. Tas izveido jaunu failu ar nosaukumu Test.exe. Tas ir izpildāms fails. Tāpēc dators to var izpildīt.

Kas ir ielādētājs?

Atmiņā ir jāievieto programma, kas jāizpilda. Saistītājs saista objekta kodu un galvenes failus un izvada izpildāmo failu. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē linkera ģenerēto izpildāmo failu. Tas piešķir atmiņas vietu izpildāmajam modulim galvenajā atmiņā. Tāpēc ielādētājs ir daļa no operētājsistēmas, kas ir atbildīga par programmu un bibliotēku ielādi.

Atšķirība starp Linker un Loader
Atšķirība starp Linker un Loader

Attēls 01: secība, kādā avota kods tiek ielādēts atmiņā

Programmas ielāde ietver vairākas darbības. Tas ietver izpildāmā faila, kas satur programmas instrukciju, satura nolasīšanu atmiņā, kā arī nepieciešamo sagatavošanas uzdevumu veikšanu izpildāmā faila palaišanai. Kad ielāde ir pabeigta, operētājsistēma startē programmu, nododot vadību ielādētajam programmas kodam. Īpašām datorsistēmām, piemēram, iegultajām sistēmām, parasti nav iekrāvēju. Kods tiek izpildīts tieši ar ROM.

Kāda ir saistība starp Linker un Loader?

Saistītāja izvade nonāk ielādētājā

Kāda ir atšķirība starp Linker un Loader?

Linker vs Loader

Linker ir programmatūra, kas savieno objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu.exe. Ielādētājs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē saistītāja ģenerēto izpildāmo failu.
Ievade
Saistītājs ņem valodas tulkotāja izvadi, kas ir objekta kods. Ielādētājs ņem izvadi no linkera, kas ir izpildāmais fails.
Funkcionalitāte
Saistītājs saista objekta kodu un galvenes failus un izvada izpildāmo failu. Ielādētājs galvenajā atmiņā ielādē izpildāmo failu, kas iegūts no linkera.

Kopsavilkums - Linker vs Loader

Linker un Loader ir divi programmatūras komponenti, kas saistīti ar programmas izpildi. Šajā rakstā tika apspriesta atšķirība starp Linker un Loader. Linker ir programmatūra, kas saista objekta kodu ar papildu failiem, piemēram, galvenes failiem, un izveido izpildāmu failu ar paplašinājumu.exe. Iekrāvējs ir sistēmas programmatūra, kas galvenajā atmiņā ielādē linkera ģenerēto izpildāmo failu. Tā ir atšķirība starp Linker un Loader.

Ieteicams: