GNU Compiler Collection: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
DaimonBot (discussione | contributi)
m Orfanizzo Java (linguaggio)
m tag obsoleti
Riga 77:
gcc main.c
</syntaxhighlight>
che ordina al compilatore di leggere il file <ttcode>main.c</ttcode> (<ttcode>.c</ttcode> è l'[[Estensione (file)|estensione]] standard dei file contenenti [[C (linguaggio)|codice C]]) e compilarlo. Poiché non è stato specificato alcun nome, tramite il parametro <ttcode>-o</ttcode>, per il file di output, il file eseguibile viene chiamato <ttcode>[[a.out]]</ttcode>.
 
La compilazione avviene in tre fasi:
# il file da compilare viene trattato dal [[preprocessore]], che analizza le direttive scritte per il compilatore (definite in alcune righe del codice, solitamente posizionate in testa al file e precedute dal carattere <ttcode>#<ttcode>). Se eseguito con il parametro <ttcode>-E</ttcode>, gcc esegue solo questo passo, fornendo in output il risultato delle attività del preprocessore;
# nella seconda fase, il file dà origine a un nuovo [[Codice oggetto|file oggetto]], non è ancora eseguibile;
# a questo punto entra in funzione il [[Linking|linker]] che produce un unico [[file eseguibile]], contenente il tutto, unendo tra loro tutti i file oggetto e i file delle [[Libreria software|librerie]]. Se si desidera non incorporare il codice delle librerie nel file eseguibile, si può usare il [[Dynamic-link library|collegamento dinamico]].