gcc(选项)(参数)
-o:指定生成的输出文件; -E:仅执行编译预处理; -S:将C代码转换为汇编代码; -wall:显示警告信息; -c:仅执行编译操作,不进行连接操作。
C源文件:指定C语言源代码文件。
Allgemeine Kompilierungsbefehlsoptionen
Angenommen, die Quellprogrammdatei heißt test.c
Link ohne Optionen kompilieren
gcc test.c
Test.c vorverarbeiten, zusammenstellen, kompilieren und verknüpfen, um eine ausführbare Datei zu bilden. Hier wird keine Ausgabedatei angegeben, die Standardausgabe ist a.out.
Option -o
gcc test.c -o test
Test.c vorverarbeiten, zusammenstellen, kompilieren und verknüpfen, um die ausführbare Datei test zu bilden. Mit der Option -o wird der Dateiname der Ausgabedatei angegeben.
Option -E
gcc -E test.c -o test.i
Test.c vorverarbeiten und test.i-Datei ausgeben.
Option -S
gcc -S test.i
Fügen Sie die Vorverarbeitungsausgabedatei test.i in die Datei test.s ein.
Option -c
gcc -c test.s
Kompilieren Sie die Assembly-Ausgabedatei test.s und geben Sie die Datei test.o aus.
Kein Optionslink
gcc test.o -o test
Verknüpfen Sie die kompilierte Ausgabedatei test.o mit der endgültigen ausführbaren Datei test.
Option -O
gcc -O1 test.c -o test
Kompilieren Sie das Programm mit Kompilierungsoptimierungsstufe 1. Die Stufe beträgt 1 bis 3. Je größer die Stufe, desto besser ist der Optimierungseffekt, aber desto länger ist die Kompilierungszeit.
Kompilierungsmethode für Dateien mit mehreren Quellen
Wenn Sie mehrere Quelldateien haben, gibt es grundsätzlich zwei Kompilierungsmethoden:
Angenommen, es gibt zwei Quelldateien test.c und testfun.c
Mehrere Dateien zusammenstellen
gcc testfun.c test.c -o test
Kompilieren Sie testfun.c bzw. test.c und verknüpfen Sie sie mit der ausführbaren Testdatei.
Kompilieren Sie jede Quelldatei separat und verknüpfen Sie dann die kompilierte Ausgabezieldatei.
gcc -c testfun.c #将testfun.c编译成testfun.o gcc -c test.c #将test.c编译成test.o gcc -o testfun.o test.o -o test #将testfun.o和test.o链接成test
Beim Vergleich der beiden oben genannten Methoden erfordert die erste Methode, dass beim Kompilieren alle Dateien neu kompiliert werden, während die zweite Methode nur geänderte Dateien neu kompilieren kann und nicht geänderte Dateien nicht neu kompiliert werden müssen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Befehle-GCC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!