2009-03-17 4 views

Répondre

19

-ofilename fera filename au lieu de a.out.

6

Selon le manuel:

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

La plupart des compilateurs C fournissent l'option -o pour cela, par exemple:

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

Dans Unix, où C provient, les programmes C sont généralement module compilé -by-module, puis les modules compilés sont liés dans un exécutable. Pour un projet qui se compose de modules foo.c et bar.c, les commandes seront comme suit:

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

(Avec -c, le nom du fichier de sortie devient le fichier source avec le suffixe remplacé par .o.)

Cela vous permet également de recompiler uniquement les modules qui ont été modifiés, ce qui peut représenter un gain de temps important pour les gros programmes, mais peut aussi devenir très compliqué. (. Cette partie est habituellement automatisée à l'aide make)

Pour un programme unique module il n'y a pas vraiment tout point dans la première compilation dans un fichier .o, puis relier, donc une seule commande suffit:

cc -o foo foo.c 

Pour les programmes à module unique, il est habituel d'appeler le programme exécutable résultant le même que le fichier source C sans le suffixe .c. Pour les programmes multi-modules, il n'y a pas de coutume à savoir si la sortie porte le nom du fichier avec la fonction principale ou non, vous êtes donc libre d'inventer ce qui vous plaît.

1

Compile en utilisant:

cc -o <opfilename> <filename.c> 

Exécuter en utilisant:

./<opfilename> 
Questions connexes