Diferența Dintre Linker și Loader

Cuprins:

Diferența Dintre Linker și Loader
Diferența Dintre Linker și Loader

Video: Diferența Dintre Linker și Loader

Video: Diferența Dintre Linker și Loader
Video: WK3 - 22 Linker and Loader 2024, Noiembrie
Anonim

Diferența cheie - Linker vs Loader

Un program de computer este utilizat pentru a da instrucțiuni computerului. Este scris folosind un limbaj de programare specific. Limbaje de programare precum C, Java sunt limbaje de programare la nivel înalt și sunt ușor de înțeles de către oameni, dar nu de către computer. Prin urmare, un program de nivel înalt este convertit în limbaj mașină folosind un traducător de limbă. Un program scris folosind un limbaj de nivel înalt este un cod sursă. După conversie, codul tradus se numește cod obiect. Linkerul și încărcătorul sunt două programe software care sunt utilizate pentru executarea programului. Acest articol discută despre diferența dintre Linker și Loader. Linker este software-ul care leagă codul obiectului de fișiere suplimentare, cum ar fi fișierele antet și creează un fișier executabil cu extensia.exe. Loader-ul este software-ul sistemului care încarcă fișierul executabil generat de linker în memoria principală. Aceasta este diferența cheie între Linker și Loader.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este Linker

3. Ce este Loader

4. Relația dintre Linker și Loader

5. Comparare side by side - Linker vs Loader în formă tabelară

6. Rezumat

Ce este Linker?

Un program de calculator este un set de instrucțiuni date unui computer pentru a efectua o anumită sarcină. Un program de calculator poate fi scris folosind un limbaj de programare. Majoritatea limbajelor de programare sunt programări de nivel înalt. Acestea sunt ușor de înțeles și citite de programator. Aceste limbi urmează o sintaxă similară cu limba engleză. Câteva exemple de limbaje de nivel înalt sunt Java, C și Python. Un program scris folosind un limbaj de programare la nivel înalt este cunoscut sub numele de cod sursă, fișier sursă sau program sursă. Extensia codului sursă depinde de limba cu care a fost dezvoltat. Dacă codul sursă este scris în C ++, atunci extensia de fișier este.cpp. Dacă codul sursă este scris în Python, extensia este.py.

Chiar și codul sursă este de înțeles de către programator; nu este de înțeles de computer. Prin urmare, codul sursă ar trebui convertit în format inteligibil de mașină, folosind un traducător de limbă. Poate fi un compilator sau un interpret. Codul tradus este cunoscut sub numele de cod obiect. Codul obiectului este în limbajul mașinii. Se compune din zerouri și o dată. Computerul poate înțelege direct codul obiectului. Are extensia.obj. Dacă există un cod sursă ca Test.c, acesta trece prin compilator și codul convertit devine Test.obj.

Linker este software-ul care leagă codul obiectului de fișiere suplimentare, cum ar fi fișierele antet și creează un fișier executabil cu extensia.exe. Este posibil ca programul să fi folosit funcții încorporate. Funcționalitățile pentru acele funcții încorporate se află în fișierele antet. Conform exemplului explicat mai sus, codul obiect care este Test.obj este adăugat cu fișierele antet necesare folosind Linker. Se creează un nou fișier cunoscut numit Test.exe. Este un fișier executabil. Prin urmare, este executabil de computer.

Ce este Loader?

Un program care ar trebui să fie executat trebuie să fie plasat în memorie. Linkerul leagă codul obiectului și fișierele antet și generează fișierul executabil. Loader-ul este software-ul sistemului care încarcă fișierul executabil generat de linker în memoria principală. Alocă spațiul de memorie modulului executabil din memoria principală. Prin urmare, un încărcător este o parte a sistemului de operare care este responsabilă pentru încărcarea programelor și bibliotecilor.

Diferența dintre Linker și Loader
Diferența dintre Linker și Loader

Figura 01: Ordinea în care codul sursă se încarcă în memorie

Încărcarea unui program implică mai mulți pași. Aceasta implică citirea conținutului fișierului executabil care conține instrucțiunile programului în memorie și, de asemenea, efectuarea sarcinilor de pregătire necesare pentru a rula fișierul executabil. Odată ce încărcarea este finalizată, sistemul de operare pornește programul trecând controlul la codul programului încărcat. Sistemele informatice speciale, cum ar fi sistemele încorporate, în general nu au încărcătoare. Codul se execută direct de către ROM.

Care este relația dintre Linker și Loader?

Ieșirea Linker-ului se duce la Loader

Care este diferența dintre Linker și Loader?

Difuzarea articolului din mijloc înainte de tabel

Linker vs Loader

Linker este software-ul care leagă codul obiectului de fișiere suplimentare, cum ar fi fișierele antet și creează un fișier executabil cu extensia.exe. Loader-ul este software-ul sistemului care încarcă fișierul executabil generat de linker în memoria principală.
Intrare
Linkerul preia ieșirea traducătorului de limbă, care este codul obiect. Încărcătorul preia ieșirea din linker, care este fișierul executabil.
Funcționalitate
Linkerul leagă codul obiectului și fișierele antet și scoate fișierul executabil. Încărcătorul încarcă fișierul executabil câștigat de la linker în memoria principală.

Rezumat - Linker vs Loader

Linker și Loader sunt două componente software legate de execuția programului. Acest articol a discutat despre diferența dintre Linker și Loader. Linker este software-ul care leagă codul obiectului de fișiere suplimentare, cum ar fi fișierele antet și creează un fișier executabil cu extensia.exe. Loader-ul este software-ul sistemului care încarcă fișierul executabil generat de linker în memoria principală. Aceasta este diferența dintre Linker și Loader.

Recomandat: