2009-03-17 21 views

Antwort

19

-ofilename wird filename statt a.out machen.

6

Laut Handbuch:

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

Die meisten C-Compiler bieten die -o Option für diese, wie zB:

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

In Unix, wo C entstand aus, sind C-Programme in der Regel kompilierte Modul -by-Modul, und dann werden die kompilierten Module in eine ausführbare Datei verknüpft. Für ein Projekt, das foo.c und bar.c von Modulen besteht, würden die Befehle so aussehen:

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

(Mit -c, die Quelldatei mit der Endung der Ausgabedatei mit .o ersetzt wird.)

Dadurch können Sie auch nur die Module neu kompilieren, die sich geändert haben, was bei großen Programmen eine große Zeitersparnis bedeuten kann, aber auch ziemlich schwierig werden kann. (. Dieser Teil in der Regel automatisiert make verwenden)

Für ein Einzelmodul-Programm gibt es nicht wirklich jeden Punkt in dem ersten Compilierung auf eine .o-Datei, und dann die Verknüpfung, so dass ein einziger Befehl genügt:

cc -o foo foo.c 

Für Einzelmodul-Programme ist es üblich, das resultierende ausführbare Programm genauso wie die C-Quelldatei ohne das Suffix .c aufzurufen. Für Programme mit mehreren Modulen gibt es keine feste Vorgabe, ob die Ausgabe nach der Datei mit der Hauptfunktion benannt wird oder nicht, so dass Sie frei erfinden können, was immer Ihnen gefällt.

1

Compile mit:

cc -o <opfilename> <filename.c> 

Execute:

./<opfilename> 
Verwandte Themen