Logo ITP-NEWS
RSS | Contatti | Login|Registrati| Home
giornali
Il modello di compilazione del linguaggio C -Parte 1
Di Fusco Francesco::2011-03-22
Condividi questo articolo
Per modello di compilazione del linguaggio C intendiamo tutte le fasi attraverso cui un programma scritto in linguaggio C deve passare (e quindi anche tutti gli strumenti software che bisogna utilizzare) per poter ottenere un programma eseguibile.

Una rappresentazione grafica di tale processo la posiamo vedere dalla figura seguente:



Il Preprocessore

Il codice sorgente (il nostro programma scritto in linguaggio C) viene sottoposto alla pre-elaborazione del pre-processore

Il preprocessore accetta codice sorgente in input ed ha la funzione di:
:: rimuovere i commenti (che non devono essere tradotti)
:: interpreta speciali direttive al compilatore, denotate con il carattere #

Ad esempio:

#include -- include il contenuto di un file.

Ad esempio, in un programma possiamo avere:
#include -- la libreria matematica standard.
#include -- la libreria standard per le operazioni di Input/Output

#define -- definisce un nome simbolico o una costante. Serve anche per la sostituzione delle Macro

Ad esempio, possiamo scrivere:
#define PI_GRECO 3.14


Il compilatore C

l compilatore C traduce il codice sorgente in codice assembly. Il codice sorgente viene ricevuto dal preprocessore (quindi pre-elaborato).

L'assemblatore
L'assemblatore crea il codice oggetto. Su un sistema UNIX (ad es, Linux) possiamo vedere file con estensione .o oppure sui sistemi MSDOS file con estensione .OBJ e che indicano file di codice oggetto.

Il Link Editor
Se nel codice sorgente c'Ŕ un riferimento ad una funzione di una libreria o alla funzione definita in un altro file sorgente il link editor combina insieme queste funzioni (con la funzione main()) in modo da creare un file eseguibile.
Documenti allegati:
Modello_compilazione_C.png

Invia questo articolo ad un amico

Nome Mittente
Email Mittente
Nome Destinatario
Email Destinatario
Messaggio

Free Web Hosting with Website Builder

Gli ultimi articoli


Java e array -- ricerca di un elemento in un array
Array in Java
Gestione dei file in Php
Protocollo ARP
Come convertire caratteri in Ascii in Java
Conversione di un numero da stringa ad intero e viceversa
Tabella di struct - memorizzare i conti ed i nomi dei clienti
Un esempio di struct in C
In tutta Italia il "sabato del pinguino" festa di Linux e del software Libero
Inserimento di un elemento di un insieme S, che verifica una certa proprietÓ P, in un secondo insieme T
Webmaster
Home
Condizioni d'utilizzo
Privacy
Mappa del sito
Contattateci
(C) Teaching OnLine (Napoli) - 2009