GCC è un abbreviazione di GNU Compiler Collection, un compilatore C per Linux.
$ gcc [options] [source files] [object files] [-o output file]
Opzioni principali di GCC:
opzione | descrizione |
---|---|
gcc -c | compilare file sorgente in file oggetto senza collegamento |
gcc -Dname[=value] | definire una macro del preprocessore |
gcc -fPIC | generare codice indipendente dalla posizione per le librerie condivise |
gcc -glevel | generare informazioni di debug che verranno utilizzate da GDB |
gcc -Idir | aggiungi la directory include dei file di intestazione |
gcc -llib | collegamento con il file della libreria |
gcc -Ldir | cerca nella directory i file di libreria |
gcc -o output file | scrivere l'output della build nel file di output |
gcc -Olevel | ottimizzare la dimensione del codice e il tempo di esecuzione |
gcc -shared | generare file di oggetti condivisi per la libreria condivisa |
gcc -Uname | undefine una macro del preprocessore |
gcc -w | disabilitare tutti i messaggi di avviso |
gcc -Wall | abilitare tutti i messaggi di avviso |
gcc -Wextra | abilitare messaggi di avviso aggiuntivi |
Compila file1.c e file2.c e collega al file di output execfile :
$ gcc file1.c file2.c -o execfile
Esegui file di output execfile :
$ ./execfile
Compilare file1.c e file2.c senza collegamento:
$ gcc -c file1.c file2.c
Compila myfile.c con le informazioni di debug e collega al file di output execfile :
$ gcc -g myfile.c -o execfile
Compila myfile.c con messaggi di avviso abilitati e collega al file di output execfile :
$ gcc -Wall myfile.c -o execfile
Compila myfile.c con e collegalo con la libreria statica libmath.a situata in / user / local / math al file di output execfile :
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
Compilare myfile.c con ottimizzazione e collegamento al file di output execfile :
$ gcc -O myfile.c -o execfile