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

Съдържание:

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

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

Видео: Разлика между Linker и Loader
Видео: How Facebook is Stealing Billions of Views 2024, Ноември
Anonim

Ключова разлика – Linker срещу Loader

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

Какво е Linker?

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

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

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

Какво е Loader?

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

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

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

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

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

Резултатът от Linker отива към Loader

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

Линкер срещу товарач

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

Резюме – Linker срещу Loader

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

Препоръчано: