Differenza Tra Linker E Loader

Sommario:

Differenza Tra Linker E Loader
Differenza Tra Linker E Loader

Video: Differenza Tra Linker E Loader

Video: Differenza Tra Linker E Loader
Video: WK3 - 22 компоновщик и загрузчик 2024, Novembre
Anonim

Differenza chiave - Linker vs Loader

Un programma per computer viene utilizzato per dare istruzioni al computer. È scritto utilizzando un linguaggio di programmazione specifico. I linguaggi di programmazione come C, Java sono linguaggi di programmazione di alto livello e sono comprensibili dagli esseri umani ma non dal computer. Pertanto, un programma di alto livello viene convertito in linguaggio macchina utilizzando un traduttore linguistico. Un programma scritto utilizzando un linguaggio di alto livello è un codice sorgente. Dopo la conversione, il codice tradotto viene chiamato codice oggetto. Il linker e il loader sono due programmi software utilizzati per l'esecuzione del programma. Questo articolo discute la differenza tra Linker e Loader. Linker è il software che collega il codice oggetto con file aggiuntivi come file di intestazione e crea un file eseguibile con estensione.exe. Il caricatore è il software di sistema che carica il file eseguibile generato dal linker nella memoria principale. Questa è la differenza fondamentale tra Linker e Loader.

CONTENUTI

1. Panoramica e differenza fondamentale

2. Cos'è il linker

3. Cos'è Loader

4. Relazione tra linker e loader

5. Confronto affiancato - Linker vs Loader in forma tabulare

6. Riepilogo

Cos'è Linker?

Un programma per computer è un insieme di istruzioni fornite a un computer per eseguire un determinato compito. Un programma per computer può essere scritto utilizzando un linguaggio di programmazione. La maggior parte dei linguaggi di programmazione sono di alto livello. Sono facilmente comprensibili e leggibili dal programmatore. Queste lingue seguono una sintassi simile alla lingua inglese. Alcuni esempi di linguaggi di alto livello sono Java, C e Python. Un programma scritto utilizzando un linguaggio di programmazione di alto livello è noto come codice sorgente, file sorgente o programma sorgente. L'estensione del codice sorgente dipende dalla lingua con cui è stato sviluppato. Se il codice sorgente è scritto in C ++, l'estensione del file è.cpp. Se il codice sorgente è scritto in Python, l'estensione è.py.

Anche il codice sorgente è comprensibile dal programmatore; non è comprensibile dal computer. Pertanto, il codice sorgente dovrebbe essere convertito in un formato comprensibile dalla macchina utilizzando un traduttore linguistico. Può essere un compilatore o un interprete. Il codice tradotto è noto come codice oggetto. Il codice oggetto è in linguaggio macchina. Consiste di zeri e una volta. Il computer può capire direttamente il codice dell'oggetto. Ha l'estensione.obj. Se è presente un codice sorgente come Test.c, passa attraverso il compilatore e il codice convertito diventa Test.obj.

Linker è il software che collega il codice oggetto con file aggiuntivi come file di intestazione e crea un file eseguibile con estensione.exe. Il programma potrebbe aver utilizzato funzioni integrate. Le funzionalità per queste funzioni integrate si trovano nei file di intestazione. Secondo l'esempio sopra spiegato, il codice oggetto che è Test.obj viene aggiunto con i file di intestazione necessari utilizzando il Linker. Crea un nuovo file noto chiamato Test.exe. È un file eseguibile. Pertanto, è eseguibile dal computer.

Cos'è Loader?

Un programma che dovrebbe essere eseguito deve essere messo in memoria. Il linker collega il codice oggetto e i file di intestazione e genera il file eseguibile. Il caricatore è il software di sistema che carica il file eseguibile generato dal linker nella memoria principale. Alloca lo spazio di memoria al modulo eseguibile nella memoria principale. Pertanto, un caricatore è una parte del sistema operativo responsabile del caricamento di programmi e librerie.

Differenza tra Linker e Loader
Differenza tra Linker e Loader

Figura 01: ordine in cui il codice sorgente viene caricato nella memoria

Il caricamento di un programma prevede diversi passaggi. Implica la lettura del contenuto del file eseguibile contenente l'istruzione del programma in memoria e anche di eseguire le attività di preparazione necessarie per eseguire il file eseguibile. Una volta completato il caricamento, il sistema operativo avvia il programma passando il controllo al codice del programma caricato. I sistemi informatici speciali come i sistemi embedded generalmente non dispongono di caricatori. Il codice viene eseguito direttamente dalla ROM.

Qual è la relazione tra Linker e Loader?

L'output del Linker va al Loader

Qual è la differenza tra Linker e Loader?

Articolo diff. Al centro prima della tabella

Linker vs Loader

Linker è il software che collega il codice oggetto con file aggiuntivi come file di intestazione e crea un file eseguibile con estensione.exe. Il caricatore è il software di sistema che carica il file eseguibile generato dal linker nella memoria principale.
Ingresso
Il linker accetta l'output del traduttore della lingua, che è il codice dell'oggetto. Il caricatore prende l'output dal linker, che è il file eseguibile.
Funzionalità
Il linker collega il codice oggetto e i file di intestazione e genera il file eseguibile. Il caricatore carica il file eseguibile ottenuto dal linker nella memoria principale.

Riepilogo - Linker vs Loader

Linker e Loader sono due componenti software relativi all'esecuzione del programma. Questo articolo ha discusso la differenza tra Linker e Loader. Linker è il software che collega il codice oggetto con file aggiuntivi come file di intestazione e crea un file eseguibile con estensione.exe. Il caricatore è il software di sistema che carica il file eseguibile generato dal linker nella memoria principale. Questa è la differenza tra Linker e Loader.

Raccomandato: