Home>>Compilare con gcc

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

 


Commenti (1) -


inviato il 10 maggio 2011 alle 11.12

Bel post, molto utile grazie Smile

Aggiungi commento




  Country flag
biuquote
  • Commento
  • Anteprima
Loading


Calendario

<<  aprile 2014  >>
lumamegivesado
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

View posts in large calendar

Archivio

Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common