Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 10 di 47
  • livello principiante
Indice lezioni

Compilare un programma in C

I passaggi e i tool necessari per ottenere file eseguibili a partire dal codice sorgente.
I passaggi e i tool necessari per ottenere file eseguibili a partire dal codice sorgente.
Link copiato negli appunti

Come già detto un programma in C può essere scritto anche con un semplice editor di testi come il Blocco note di Windows (o simile). Per poter vedere il risultato del codice dobbiamo salvare necessariamente il file con un'estensione ".c", ad esempio "hello.c". A questo punto non dobbiamo fare altro che compilare il programma.

In realtà la compilazione di un programma in C (spesso integrata in ambienti di sviluppo e quindi apparentemente trasparente ed uniforme) segue varie fasi:

  • Il codice sorgente viene controllato dal preprocessore che ha i seguenti compiti:
    • rimuovere eventuali commenti presenti nel sorgente;
    • interpretare speciali direttive per il preprocessore denotate da "#", come #include o #define.
    • controllare eventuali errori del codice
  • Il risultato del preprocessore sarà un nuovo codice sorgente "pulito" ed "espanso" che viene tradotto dal compilatore C in codice assembly;
  • L'assembler sarà incaricato di creare il codice oggetto salvandolo in un file (.o sotto Unix/Linux e .obj in Dos/Windows);
  • Il Link editor ha il compito di collegare tutti i file oggetto risolvendo eventuali dipendenze e creando il programma (che non è altro che un file eseguibile).

Ricordiamo che tutte queste operazioni, per quanto molto avanzate, possono individuare facilmente errori di sintassi, ma mai e poi mai potranno trovare errori logici (come ad esempio un ciclo che non finisce), anche se spesso vengono segnalati dei Warning che non costituiscono errore, ma che segnalano parti di codice strane e quindi sulle quali porre attenzione per eventuali errori logici. Qui ci viene in aiuto il debugger che ha il compito di aiutare a gestire la correzione degli errori con svariati strumenti come i breakpoint ed i watchpoint.

Avete ancora il vostro file "hello.c"? spero di si, perché è giunto il momento di compilarlo; se possedete un ambiente di sviluppo come Dev-C++ o Visual C++ dovete solamente cercare il comando "Compila" od "Esegui", il programma provvederà, non solo ad eseguire tutte le operazioni citate, ma, una volta compilato, manderà in esecuzione il vostro programma presentandovi il risultato a video.

Per chi stesse usando, invece, compilatori come il DJGPP o GCC, la compilazione (intesa in tutte le sue fasi) deve essere fatta da riga di comando (dalla shell per capirsi), e, successivamente, sempre da riga di comando, si deve lanciare il file eseguibile risultante (in linux con gcc, di default il file eseguibile si chiama a.out, mentre in ambiente Dos/Windows generalmente ha lo stesso nome del sorgente ma con estensione .exe, invece che ".c").

Per compilare basta posizionarsi nella solita cartella dove risiede il file sorgente e scrivere:

# gcc hello.c

Adesso avete visto un riassunto di come si possa scrivere un programma e compilarlo, tanto perché non vi troviate disarmati quando procederemo con le spiegazioni; molti dei concetti sopra esposti verranno approfonditi mano a mano che procediamo, come la strutturazione del linguaggio, la compilazione, le funzioni disponibili nelle varie librerie.

Esempio pratico

(Visualizza il sorgente completo)

Sebbene il programma di esempio presentato sia abbastanza grande, si può notare che ricalca perfettamente la semplice struttura spiegata in questa lezione.

11  #include <stdio.h>

[...]

58  int main()
59  {

[...]

140 }

Ti consigliamo anche