GCC基本用法

2022-08-05 04:48:13 字數 1315 閱讀 3370

通 常所說的gcc是gun compiler collection的簡稱,除了編譯程式之外,它還含其他相關工具,所以它能把易於人類使用的高階語言編寫的源**構建成計算機能夠直接執行的二進位制代 碼。gcc是linux平台下最常用的編譯程式,它是linux平台編譯器的事實標準。同時,在linux平台下的嵌入式開發領域,gcc也是用得最普遍 的一種編譯器。gcc之所以被廣泛採用,是因為它能支援各種不同的目標體系結構。例如,它既支援基於宿主的開發(簡單講就是要為某平台編譯程式,就在該平 台上編譯),也支援交叉編譯(即在a平台上編譯的程式是供平台b使用的)。目前,gcc支援的體系結構有四十餘種,常見的有x86系列、arm、 powerpc等。同時,gcc還能執行在不同的作業系統上,如linux、solaris、windows等。

初學時最好從命令列入手,這樣可以熟悉從編寫程式、編譯、除錯和執行的整個過程。編寫程式可以用vi或其它編輯器編寫。編譯則使用gcc命令。要往下學習首先就得熟悉gcc命令的用法。

gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多而打擊了學習的信心。

一. 常用編譯命令選項

假設源程式檔名為test.c。

3. 選項 -e

用法:#gcc -e test.c -o test.i

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

4. 選項 -s

用法:#gcc -s test.i

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

5. 選項 -c

用法:#gcc -c test.s

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

7. 選項-o

用法:#gcc -o1 test.c -o test

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

二. 多原始檔的編譯方法

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

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

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

用法:#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

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

GCC基本用法

初學時最好從命令列入手,這樣可以熟悉從編寫程式 編譯 除錯和執行的整個過程。編寫程式可以用vi或其它編輯器編寫。編譯則使用gcc命令。要往下學習首先就得熟悉gcc命令的用法。gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多...

gcc基本用法

gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多而打擊了學習的信心。一.常用編譯命令選項 假設源程式檔名為test.c。1.無選項編譯鏈結 用法 gcc test.c 2.選項 o 用法 gcc test.c o test...

gcc基本用法

gcc最基本的用法是 gcc options filenames c,只編譯,不連線成為可執行檔案,編譯器只是由輸入的.c等原始檔生成.o為字尾的目標檔案,通常用於編譯不包含主程式的子程式檔案。o output filename,確定輸出的檔案的名稱 g,產生符號除錯工具 gnu的gdb 所需要的符...