2009-03-17 11 views

Respuesta

19

-ofilename hará filename en lugar de a.out.

6

De acuerdo con el manual:

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

más C ofrecen la opción -o para ello, tales como:

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

En Unix, donde C se originó a partir, módulo de programas en C generalmente se compilan por módulo, y luego los módulos compilados están vinculados en un ejecutable. Para un proyecto que consiste en módulos foo.c y bar.c, los comandos serían así:

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

(con -c, el nombre del archivo de salida se convierte en el archivo de origen con el sufijo sustituido por .o.)

Esto le permite volver a compilar solo aquellos módulos que han cambiado, lo que puede ahorrar mucho tiempo para grandes programas, pero también puede ser bastante complicado. (. Esta parte se suele automatizado usando make)

Para un programa de un solo módulo que realmente no hay ningún punto en la primera compilación en un archivo .o, y luego se une, por lo que un solo comando basta:

cc -o foo foo.c 

Para programas de un solo módulo, se acostumbra llamar al programa ejecutable resultante igual que al archivo fuente C sin el sufijo .c. Para los programas de varios módulos, no existe una costumbre estricta sobre si la salida lleva el nombre del archivo con la función principal o no, por lo que puedes inventar lo que más te guste.

1

Compilar usando:

cc -o <opfilename> <filename.c> 

Ejecutar usando:

./<opfilename> 
Cuestiones relacionadas