Iniziamo con il codice più classico che esista e cerchiamo di compilare il programma:
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
Se assumiamo che il programma sia memorizzato in un file denominato hello.c, il comando per compilarlo sarà il seguente:
gcc -Wall hello.c -o hello
Il comando precedente ha come effetto la compilazione del file hello.c e la produzione di un file eseguibile denominato "hello". Il nome del file oggetto viene specificato tramite l'opzione -o; questa opzione è generalmente l'ultima della riga di comando e se omessa ha come consequenza la generazione di un file oggetto con il nome predefinito "a.out". L'opzione -Wall abilita la visualizzazione di tutti i messaggi di warning. Per eseguire il programma è necessario digitare il nome del file eseguibile preceduto dal suo percorso; in questo caso:
$ ./hello
Nel caso di programmi di grandi dimensioni, per semplificare l'editazione e la comprensione del codice, è comune dividere il sorgente su più file; questa situazione comporta la compilazione separata di ciascun file del progetto. Supponiamo, ad esempio, che il progetto sia composto da file1.c e file2.c, allora per compilare e linkare l'applicazione in un unico file eseguibile di nome test, è sufficiente digitare il comando:
$ gcc -Wall file1.c file2.c -o test
Notare che eventuali file header inclusi nei sorgenti non devono essere specificati nel comando di compilazione.
Supponiamo adesso di aver modificato una funzione implementata nel file file2.c e di voler generare il nuovo eseguibile, in questo caso per evitare inutili perdite di tempo, è possibile ricompilare esclusivamente il file sorgente file2.c, tramite il comando:
$ gcc -Wall -c file2.c
Successivamente per linkare assieme il vecchio file1.c con il nuovo file2.c, si può scrivere:
$ gcc file1.o file2.o -o test
Correntemente valutato 4.4 da 5 utenti
- Currently 4,4/5 Stars.
- 1
- 2
- 3
- 4
- 5