2009-03-17 19 views

risposta

19

-ofilename faràanziché a.out.

6

Secondo il manuale:

-o <file> Place the output into <file> 
23

La maggior parte compilatori C forniscono l'opzione -o per questo, come ad esempio:

gcc -o gentext gentext.c 
cc -o mainprog -Llib -lmymath firstbit.c secondbit.o 
xlc -o coredump coredump.c 
3

In Unix, dove C origine da, modulo di programmi C sono generalmente compilati -by-module, e quindi i moduli compilati sono collegati in un eseguibile. Per un progetto che consiste di moduli foo.c e bar.c, i comandi sono simili:

cc -c foo.c 
cc -c bar.c 
cc -o myprog foo.o bar.o 

(Con -c, il file di uscita diventa la sorgente con il suffisso sostituito con .o.)

Ciò consente di ricompilare solo quei moduli che sono stati modificati, il che può essere un grande risparmio di tempo per i grandi programmi, ma può anche diventare piuttosto complicato. (. Questa parte è di solito automatizzato utilizzando make)

Per un programma a singolo modulo non c'è davvero qualsiasi punto prima compilazione in un file .o, e quindi il collegamento, per cui un singolo comando basta:

cc -o foo foo.c 

Per i programmi a modulo singolo, è usuale chiamare il programma eseguibile risultante lo stesso del file sorgente C senza il suffisso .c. Per i programmi multi-modulo, non vi è alcuna rigida abitudine sul fatto che l'output sia chiamato dopo il file con la funzione principale o meno, quindi sei libero di inventare qualsiasi cosa colpisca.

1

compilazione utilizzando:

cc -o <opfilename> <filename.c> 

ESEGUI usando:

./<opfilename> 
Problemi correlati