GCC選項


GCC 是一個功能強大的編譯器,其編譯選項非常多,有些選項通常不會用到。

GCC 從最初的一個試驗型的玩具發展到現在 Linux 環境下的標准編譯器,其命令選項也從最開始的 4 個發展到了現在的上千個。本節只介紹常用的 GCC 編譯選項。

gcc 是一個功能強大的編譯器,其編譯選項非常多。有些選項一般程序員根本不會用到。因此將所有的編譯選項全部列出講解是不明智的。下面只對一些 gcc 編譯器的常 用選項進行詳細的講解,這些選項在實際編程過程中非常實用。gcc 的常用選項如下表所示。

注意:gcc 編譯選項會區分大小寫。因此-o選項和-O選項的效果是不一樣的。前者表示源文件編譯成為可執行文件,后者表示將源文件編譯成為可執行文件並且進行一級優化。

-S

C語言源文件編譯為匯編語言,但是並不匯編該程序。使用該選項,我們可以查看C語言代碼對應的匯編代碼。

-E 選項

-E選項將C語言源文件進行預處理,但是並不編譯該程序。對於一般的預處理問題,可以使用這個選項進行查看,例如,宏的展開問題、文件的包含問題等。

-I 選項

由於指定包含的頭文件的目錄,這一點對於大型的代碼組織來說是很有用的。

-g 選項

-g選項可生成能被 gdb 調試器所使用的調試信息。只有使用了該選項后生成的可執行文件,才帶有程序中引用的符號表。這時 gdb 調試程序才能對該可執行程序進行調試。

還有另一個 GCC 選項,可以方便地一次獲得全部的中間輸出文件,這就是-save-temps。當使用該選項時,GCC 會正常地編譯和鏈接,但是會把預處理器輸出、匯編語言和對象文件全部存儲在當前目錄下。使用 -save-temps 選項所生成的中間文件,與對應的源文件具有相同的文件名,但文件擴展名分別為.i、.s和.o,分別表示為預處理輸出、匯編語言輸出和對象文件。

還有另一個 GCC 選項,可以方便地一次獲得全部的中間輸出文件,這就是-save-temps。當使用該選項時,GCC 會正常地編譯和鏈接,但是會把預處理器輸出、匯編語言和對象文件全部存儲在當前目錄下。使用 -save-temps 選項所生成的中間文件,與對應的源文件具有相同的文件名,但文件擴展名分別為.i、.s和.o,分別表示為預處理輸出、匯編語言輸出和對象文件。

具體的介紹放在下一篇介紹。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM