Разлика между Linker и Loader

Ключова разлика - Линкер срещу товарач
 

Използва се компютърна програма за даване на инструкции към компютъра. Пише се с помощта на специфичен език за програмиране. Езиците за програмиране като C, Java са езици за програмиране на високо ниво и са разбираеми от хората, но не и от компютъра. Следователно програма на високо ниво се преобразува в машинен език с помощта на езиков преводач. Програма, написана на език на високо ниво, е изходен код. След преобразуването преведеният код се нарича обект код. Linker и loader са две софтуерни програми, които се използват за изпълнение на програмата. Тази статия обсъжда разликата между Linker и Loader. Linker е софтуерът, който свързва обектния код с допълнителни файлове като заглавни файлове и създава изпълним файл с разширение .exe. Зареждащото устройство е системният софтуер, който зарежда изпълним файл, генериран от линкъра, в основната памет. Това е ключова разлика между Linker и Loader.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е Linker
3. Какво е товарач?
4. Връзка между Linker и Loader
5. Паралелно сравнение - Linker срещу Loader в таблична форма
6. Резюме

Какво е Linker?

Компютърна програма е набор от инструкции, дадени на компютър за изпълнение на определена задача. Компютърна програма може да бъде написана с език на програмиране. Повечето езици за програмиране са програмиране на високо ниво. Те са лесно разбираеми и четими от програмиста. Тези езици следват синтаксис, подобен на английския. Някои примери за езици на високо ниво са Java, C и Python. Програма, написана на езика за програмиране на високо ниво, е известна като изходния код, изходния файл или изходната програма. Разширението на изходния код зависи от езика, с който е разработен. Ако изходният код е написан на C ++, тогава разширението на файла е .cpp. Ако изходният код е написан на Python, разширението е .py.

Дори изходният код е разбираем от програмиста; не е разбираемо от компютъра. Следователно изходният код трябва да бъде преобразуван в машинно разбираем формат с помощта на езиков преводач. Тя може да бъде съставител или преводач. Преведеният код е известен като кода на обекта. Обектният код е на машинен език. Състои се от нули и веднъж. Компютърът може директно да разбере кода на обекта. Той има разширението .obj. Ако има изходен код като Test.c, той преминава през компилатора и преобразувания код става Test.obj.

Linker е софтуерът, който свързва обектния код с допълнителни файлове като заглавни файлове и създава изпълним файл с разширение .exe. Програмата може да е използвала вградени функции. Функциите за тези вградени функции са в заглавните файлове. Съгласно гореописания пример, обектният код, който е Test.obj, се добавя с необходимите заглавни файлове с помощта на Linker. Той създава нов файл, известен като Test.exe. Това е изпълним файл. Следователно, той се изпълнява от компютъра.

Какво е товарач?

В паметта трябва да се постави програма, която трябва да се изпълни. Линкерът свързва обектния код и заглавните файлове и извежда изпълнимия файл. Зареждащото устройство е системният софтуер, който зарежда изпълним файл, генериран от линкъра, в основната памет. Той разпределя паметта на изпълним модул в основната памет. Следователно един товарач е част от операционната система, която отговаря за зареждането на програми и библиотеки.

Фигура 01: Ред, в който изходният код се зарежда в паметта

Зареждането на програма включва няколко стъпки. Тя включва прочитане на съдържанието на изпълнимия файл, съдържащ инструкцията на програмата в паметта, както и извършване на необходимите подготвителни задачи за стартиране на изпълнимия файл. След като зареждането приключи, операционната система стартира програмата чрез предаване на контрол на заредения програмен код. Специалните компютърни системи като вградените системи обикновено нямат товарачи. Кодът се изпълнява директно от ROM.

Каква е връзката между Linker и Loader?

  • Изходът на Linker отива към товарача.

Каква е разликата между Linker и Loader?

Linker vs Loader

Linker е софтуерът, който свързва обектния код с допълнителни файлове като заглавни файлове и създава изпълним файл с разширение .exe. Зареждащото устройство е системният софтуер, който зарежда изпълним файл, генериран от линкъра, в основната памет.
 Вход
Линкерът приема изхода на езиковия преводач, който е обектният код. Зареждащото устройство взема изхода от линкъра, който е изпълним файл.
Функционалност
Линкерът свързва обектния код и заглавните файлове и извежда изпълнимия файл. Зареждащото устройство зарежда изпълнения файл, получен от линкъра, в основната памет.

резюме - Линкер срещу товарач

Linker и Loader са два софтуерни компонента, свързани с изпълнението на програмата. Тази статия обсъжда разликата между Linker и Loader. Linker е софтуерът, който свързва обектния код с допълнителни файлове като заглавни файлове и създава изпълним файл с разширение .exe. Зареждащото устройство е системният софтуер, който зарежда изпълним файл, генериран от линкъра, в основната памет. Това е разликата между Linker и Loader.

справка:

1.'Loader (computing) ', Wikipedia, Фондация Wikimedia, 28 февруари 2018. Достъпно тук