vale1411
Genius
1 min. di lettura
Vota

Concetti Chiave

  • La traduzione di un programma da linguaggio ad alto livello a eseguibile coinvolge il compilatore che converte il codice sorgente in linguaggio oggetto.
  • Il linker svolge un ruolo fondamentale collegando moduli e risolvendo riferimenti, producendo infine un file eseguibile con estensione .exe.
  • Un traduttore può essere un compilatore, trasformando istruzioni sorgente a istruzioni macchina in un rapporto 1:N.
  • Un traduttore può anche essere un assemblatore, convertendo linguaggio assembly a istruzioni macchina in un rapporto 1:1.
  • Il processo include la conversione degli indirizzi nelle istruzioni in indirizzi fisici di memoria durante il caricamento.

Traduzione di programmi ad alto livello

Nel caso in cui si debba tradurre un programma da linguaggio ad alto livello fino ad ottenere un programma eseguito sul calcolatore.
Prima di tutto di usa il file in linguaggio sorgente e si compila utilizzando il compilatore che trasforma il file in un file in linguaggio oggetto, con estensione .obj oppure .o. In seguito questo file si passa al linker che collega i diversi moduli e risolve tutti i riferimenti tra i diversi moduli che compongono il programma. Perciò si ottiene un file in linguaggio eseguibile, ovvero un file che ha come estensione .exe. Infine il linker carica il programma in memoria e trasforma i riferimenti scritti nelle istruzioni in indirizzi fisici che si riferiscono a celle di memoria. E così si arriva al programma in esecuzione.

Nel caso in cui un elaboratore utilizzi un traduttore significa che quest’ultimo è sia:
- Un compilatore con linguaggio ad alto livello, trasforma le istruzioni sorgente a istruzioni macchine, il cui rapporto tra istruzione sorgente e istruzione macchina è 1:N, o uno a molti
- Un assemblatore (assembler) quando il linguaggio sorgente è linguaggio assembly, il cui rapporto tra istruzione sorgente e istruzione macchina è 1:1, o uno a uno, poiché assembly è una rappresentazione simbolica del linguaggio di macchina

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community