C LanguageCompilazione


introduzione

Il linguaggio C è tradizionalmente un linguaggio compilato (al contrario di interpretato). Lo standard C definisce le fasi di traduzione e il prodotto di applicarle è un'immagine di programma (o un programma compilato). In , le fasi sono elencate in §5.1.1.2.

Osservazioni

Estensione del nome file Descrizione
.c File sorgente. Di solito contiene definizioni e codice.
.h File di intestazione. Di solito contiene dichiarazioni.
.o File oggetto Codice compilato nel linguaggio macchina.
.obj Estensione alternativa per i file oggetto.
.a File di libreria Pacchetto di file oggetto.
.dll Libreria di collegamento dinamico su Windows.
.so Oggetto condiviso (libreria) su molti sistemi simili a Unix.
.dylib Libreria di collegamento dinamico su OSX (variante Unix).
.exe , .com File eseguibile di Windows. Creato collegando file di oggetti e file di libreria. Nei sistemi di tipo Unix, non esiste un'estensione di nome file speciale per il file eseguibile.
Bandiere del compilatore POSIX c99 Descrizione
-o filename Nome del file di output es. ( bin/program.exe , program )
-I directory cercare intestazioni in direrctory .
-D name definire il name macro
-L directory cerca le biblioteche nella directory .
-l name link library libname .

I compilatori su piattaforme POSIX (Linux, mainframe, Mac) di solito accettano queste opzioni, anche se non sono chiamate c99 .

Bandiere GCC (GNU Compiler Collection) Descrizione
-Wall Abilita tutti i messaggi di avviso comunemente accettati come utili.
-Wextra Abilita più messaggi di avviso, può essere troppo rumoroso.
-pedantic Forza avvisi in cui il codice viola lo standard scelto.
-Wconversion Abilita gli avvisi sulla conversione implicita, usa con cautela.
-c Compila i file sorgente senza collegamento.
-v Stampa informazioni di compilazione.
  • gcc accetta i flag POSIX più molti altri.
  • Molti altri compilatori su piattaforme POSIX ( clang , compilatori specifici del fornitore) utilizzano anche i flag elencati sopra.
  • Vedi anche Invocazione di GCC per molte altre opzioni.
Bandiere TCC (Tiny C Compiler) Descrizione
-Wimplicit-function-declaration Avvisa sulla dichiarazione di funzione implicita.
-Wunsupported Avvisa sulle funzionalità GCC non supportate ignorate da TCC.
-Wwrite-strings Rendi costanti stringa di tipo const char * invece di char *.
-Werror Compilazione di interruzione se vengono emessi avvisi.
-Wall Attiva tutti gli avvisi, ad eccezione di -Werror , -Wunusupported e -Wwrite strings .

Compilazione Esempi correlati