La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue.

Presentazioni simili


Presentazione sul tema: "G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue."— Transcript della presentazione:

1

2 G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue opzioni 1

3 G. Amodeo, C. Gaibisso I passi della compilazione 1.Preprocessing 1.1rimozione dei commenti 1.2interpretazione delle direttive per il preprocessore 2.Compilazione 2.1Generazione del codice assembler 2.2Generazione dei moduli oggetto 3.Linking Programmazione di Calcolatori: il compilatore e le sue opzioni2

4 G. Amodeo, C. Gaibisso Il preprocessing Programmazione di Calcolatori: il compilatore e le sue opzioni3 rimozione dei commenti interpretazione delle direttive per il preprocessore

5 G. Amodeo, C. Gaibisso Compilazione Programmazione di Calcolatori: il compilatore e le sue opzioni4 Generazione del codice assembler: traduzione del codice sorgente ricevuto dal preprocessore in linguaggio assembler

6 G. Amodeo, C. Gaibisso Compilazione Programmazione di Calcolatori: il compilatore e le sue opzioni5 MOV AL, #61h Esempio: memorizza il valore esadecimale 61 nel registro di nome AL Linguaggio assembler: linguaggio di basso livello che fornisce un minimo livello di astrazione (utilizzo di codici mnemonici in luogo di codici numerici) rispetto alle istruzioni eseguibili dal microprocessore

7 G. Amodeo, C. Gaibisso Compilazione Programmazione di Calcolatori: il compilatore e le sue opzioni6 Esempio: #61hMOV AL Generazione dei moduli oggetto : traduzione del codice assembler in una sequenza di istruzioni macchina non ancora eseguibili a causa, anche, di riferimenti esterni MOV AL, #61h 10110000 01100001

8 G. Amodeo, C. Gaibisso Compilazione Programmazione di Calcolatori: il compilatore e le sue opzioni7 Riferimenti esterni: minnieMOV AL MOV AL, minnie 10110000 ???????? riferimento esterno al modulo

9 G. Amodeo, C. Gaibisso CPU: larchitettura Architettura Hw dei sistemi8 Program Counter (16 bit) +1 Buffer Indirizzi (16 bit) Buffer Dati (8 bit) W (8 bit) Z (8 bit) Circuiti di Controllo Registro Istruzione (8 bit) CU Registro Aritmetico ARegistro Aritmetico B ALU Sommatore Memoria Contiene lindirizzo in memoria dellistruzione in esecuzione Registro contenente lindirizzo della locazione interessata dalla prossima operazione di lettura/scrittura Memorizza: 1.Il risultato di una elaborazione da parte della ALU 2.Il risultato di unoperazione di lettura 3.Un dato da memorizzare Contiene il codice operativo dellistruzione in esecuzione Memorizzano dati o indirizzi durante le operazioni interne

10 G. Amodeo, C. Gaibisso Linking Programmazione di Calcolatori: il compilatore e le sue opzioni9 Linker: programma che combina uno o più moduli oggetto generati durante la fase di compilazione in un unico file eseguibile Problema: esistenza allinterno dei moduli oggetto di riferimenti ad altri moduli (chiamate di funzioni, salti, variabili, …)

11 G. Amodeo, C. Gaibisso Riconoscere i file Programmazione di Calcolatori: il compilatore e le sue opzioni10 EstensioneDescrizione.cfile sorgente.h file generalmente copiato dal preprocessore allinterno di un file sorgente.o modulo oggetto

12 G. Amodeo, C. Gaibisso Opzioni del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni11 Determinare la versione del compilatore : gcc -v

13 G. Amodeo, C. Gaibisso Opzioni del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni12 Assegnare un nome al file eseguibile: gcc nome_sorgente –o nome_eseguibile

14 G. Amodeo, C. Gaibisso Opzioni del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni13 Generazione modulo oggetto: gcc –c nome_sorgente

15 G. Amodeo, C. Gaibisso Opzioni del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni14 Chiamare il preprocessore gcc –E nome_sorgente –o nome_destinazione

16 G. Amodeo, C. Gaibisso Contenuto di stdio.h Opzioni del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni15

17 G. Amodeo, C. Gaibisso Messaggi del compilatore Programmazione di Calcolatori: il compilatore e le sue opzioni16 1.Messaggi di errore: indicativi di errori che impediscono la generazione delleseguibile interrompono la compilazione 2.Warning: indicativi di condizioni che potrebbero, tra laltro, inficiare la portabilità del codice non interrompono la compilazione

18 G. Amodeo, C. Gaibisso Messaggi di errore Programmazione di Calcolatori: il compilatore e le sue opzioni17

19 G. Amodeo, C. Gaibisso Warning Programmazione di Calcolatori: il compilatore e le sue opzioni18 Utilizzare il massimo livello di warning: gcc –Wall nome_sorgente

20 G. Amodeo, C. Gaibisso Warning Programmazione di Calcolatori: il compilatore e le sue opzioni19 Utilizzare il massimo livello di warning: gcc –Wall nome_sorgente

21 G. Amodeo, C. Gaibisso Warning Programmazione di Calcolatori: il compilatore e le sue opzioni20

22 G. Amodeo, C. Gaibisso Warning Programmazione di Calcolatori: il compilatore e le sue opzioni21


Scaricare ppt "G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue."

Presentazioni simili


Annunci Google