Nella scorsa puntata abbiamo introdotto il compilatore GCC, vediamo adesso quelle che sono alcune delle opzioni più utili:
Tabella 2-1. Opzioni del GCC
|
Opzioni |
Descrizione |
|
-o nomefile |
Specifica il nomefile di output eseguibile, utile quando si deve creare un eseguibile. Se non viene specificata questa opzione, l'output di default è a.out. Esempio di utilizzo: gcc -o targetfile sourcefile.c. |
|
-c filesorgente1, filesorgente2, ecc.. |
Compila senza linkare i files sorgenti specificati, creando un file oggetto per ogni file sorgente specificato. Questa opzione é utile per la compilazione separata mediante l'utilizzo dell'utility make. Esempio di utilizzo: gcc -c sourcefile.c |
|
-Dpippo |
Definisce la macro pippo per il preprocessore dalla linea di comando. Vedremo in seguito, che é una macro per preprocessore. Esempio di utilizzo: gcc -Dpippo=\"pluto\" sourcefile.c . |
|
Opzioni |
Descrizione |
|
-I directory |
Aggiunge la directory specificata al percorso dove trovare i file di #include, usati dal programma sorgente. Esempio di utilizzo: gcc -I/usr/local/include sourcefile.c |
|
-L directory |
Aggiunge la directory specificata al percorso dove si trovano le librerie. Esempio di utilizzo: gcc -L/usr/local/lib sourcefile.c |
|
-g |
Produce informazioni aggiuntive utili ai debugger per poter lavorare. Esempio di utilizzo: gcc -g -o target sourcefile.c |
|
-ggdb |
Produce informazioni extra per il Gnu Debugger. Vengono con questa opzione aggiunte all'eseguibile molte più informazioni di quelle necessarie per il debug, per ottimizzare le operazioni di debug con il Gnu Debugger. Esempio di utilizzo: gcc -ggdb -o target sourcefile.c |
|
Opzioni |
Descrizione |
|
-ansi |
Supporta tutti i programmi scritti seguendo lo standard ANSI, ove vi siano confitti tra le estensioni GCC e lo standard ANSI, vengono disabilitate tali estensioni. Esempio di utilizzo: gcc -ansi -o target sourcefile.c |
|
-Wall |
Abilita tutti i messaggi di Warning di utilità generale, che il GCC fornisce. Molto utile quando il vostro programma non funziona come dovrebbe. Consiglio vivamente di usare quasi sempre questa opzione. Esempio di utilizzo: gcc -Wall -o target sourcefile.c |
|
-On |
Ottimizza il codice, dove n é il livello di ottimizzazione. Il massimo livello di ottimizzazione allo stato attuale é il 3, quello generalmente più usato é 2. Quando non si deve eseguire il debug é consigliato ottimizzare il codice. Esempio di utilizzo: gcc -O2 -o target sourcefile.c |
|
-pedantic |
Da durante, la compilazione, tutti i warning e gli errori fatti in un programma che rispetti l'ANSI C. Esempio di utilizzo: gcc -pedantic -o target sourcefile.c |
|
Opzioni |
Descrizione |
|
-pedantic |
Da durante, la compilazione, tutti i warning e gli errori fatti in un programma che rispetti l'ANSI C. Esempio di utilizzo: gcc -pedantic -o target sourcefile.c |
|
-mcpu=tipo_cpu |
Permette di specificare il tipo di cpu per il quale si vuole ottenere l'eseguibile. Per i comuni personal computer i valori ammessi sono: Valori di mcpu Processore Valore ammesso 80386 'i386' 80486 'i486' 80586 'i586' 80686 'i686' Pentium 'pentium' PentiumPro 'pentiumpro' AMD K6 'k6' Esempio di utilizzo: gcc -mcpu='k6' -o target sourcefile.c |
|
-lnome_libreria |
Usa la libreria nome_libreria durante il linking. Cerca la libreria nelle directory standard, dove sono poste le librerie. Esempio di utilizzo: gcc -lnome_libreria -o target sourcefile.c |
|
-static |
Nei sistemi che supportano le librerie dinamiche, fa in modo che i files vengano linkati con le librerie statiche. Esempio di utilizzo: gcc -static -o target sourcefile.c |
|
-S |
Genera il codice assembler del file sorgente indicato. Esempio di utilizzo: gcc -S -o fileasm.s filesorgentec.c |
Non preoccupatevi se non vi é chiaro qualcosa delle opzioni presenti nella tabella 2-1, in seguito ci ritorneremo sopra. Ho solo voluto dare una discreta panoramica delle opzioni che useremo per compilare gli esempi di questo testo.
Torna all'indice Generale del corso di Corso di C con Linux di Software Planet