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

Съдържание:

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

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

Видео: Разлика между Linker и Loader
Видео: CS50 2013 - Week 8, continued 2024, Декември
Anonim

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

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

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е Linker

3. Какво е Loader

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. Това е изпълним файл. Следователно той е изпълним от компютъра.

Какво е Loader?

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

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

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

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

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

Изходът на Linker отива към Loader

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

Различна статия Средна преди таблица

Linker срещу Loader

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

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

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

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