詳解命令 GCC

2021-08-14 12:01:03 字數 1213 閱讀 7153

gcc(選項)(引數)選項

-o:指定生成的輸出檔案;-e:僅執行編譯預處理;-s:將c**轉換為彙編**;-wall:顯示警告資訊;-c:僅執行編譯操作,不進行連線操作。引數

c原始檔:指定c語言源**檔案。例項

常用編譯命令選項

假設源程式檔名為test.c

無選項編譯鏈結

gcc test.c

將test.c預處理、彙編、編譯並鏈結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out。

選項 -o

gcc test.c -o test

將test.c預處理、彙編、編譯並鏈結形成可執行檔案test。-o選項用來指定輸出檔案的檔名。

選項 -e

gcc -e test.c -o test.i

將test.c預處理輸出test.i檔案。

選項 -s

gcc -s test.i

將預處理輸出檔案test.i彙編成test.s檔案。

選項 -c

gcc -c test.s

將彙編輸出檔案test.s編譯輸出test.o檔案。

無選項鏈結

gcc test.o -o test

將編譯輸出檔案test.o鏈結成最終可執行檔案test。

選項 -o

gcc -o1 test.c -o test

使用編譯優化級別1編譯程式。級別為1~3,級別越大優化效果越好,但編譯時間越長。

多原始檔的編譯方法

如果有多個原始檔,基本上有兩種編譯方法:

假設有兩個原始檔為test.c和testfun.c

多個檔案一起編譯

gcc testfun.c test.c -o test

將testfun.c和test.c分別編譯後鏈結成test可執行檔案。

分別編譯各個原始檔,之後對編譯後輸出的目標檔案鏈結。

gcc -c testfun.c #將testfun.c編譯成testfun.ogcc -c test.c #將test.c編譯成test.ogcc -o testfun.o test.o -o test #將testfun.o和test.o鏈結成test

以上兩種方法相比較,第一中方法編譯時需要所有檔案重新編譯,而第二種方法可以只重新編譯修改的檔案,未修改的檔案不用重新編譯。

GCC命令詳解

1 gcc包含的c c 編譯器 gcc cc c g gcc和cc是一樣的,c 和g 是一樣的,一般c程式就用gcc編譯,c 程式就用g 編譯 2 gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為test的程式 o引數...

GCC 命令列詳解

1。gcc包含的c c 編譯器 gcc,cc,c g gcc和cc是一樣的,c 和g 是一樣的,沒有看太明白前面這半句是什 麼意思 一般c程式就用gcc編譯,c 程式就用g 編譯 2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將...

Gcc命令列詳解

gcc命令列詳解 1 gcc包含的c c 編譯器 gcc cc c g gcc和cc是一樣的,c 和g 是一樣的,一般c程式就用gcc編譯,c 程式就用g 編譯 2 gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為te...