[轉] gcc常用命令

gcc常用命令2009-03-12 21:40GCC(GNU C Compiler or GNU Complier Collection)是GNU項目的編譯器套件。它能夠編譯C、C++和Objective C語言編寫的程序。GCC能夠支持多種不同的C語言變體,比如ANSI C和傳統(Kernighan和Ritchie,K&R)C。此外,GCC在g77的幫助下也能夠編譯Fortran程序,而用於支持Pascal,Modula 3,Ada 9X以及其他語言的編譯器前端也在開發中。

使用GCC,程序員能夠對編譯過程有更多的控制。編譯過程分爲4個階段:預處理,適當編譯,彙編,連接。而程序員可以在編譯的任何階段結束後停止整個編譯過程以檢查或使用編譯器在該階段的輸出信息。

1 GCC對文件擴展名的解釋及對應處理方法
.c   C語言源代碼; 預處理、編譯、彙編
.C/.cc/.cxx  C++語言源代碼; 預處理、編譯、彙編
.m   Objective C語言源代碼; 預處理、編譯、彙編
.i   預處理後的C語言源代碼; 編譯、彙編
.ii 預處理後的C++語言源代碼; 編譯、彙編
.s/.S   彙編語言源代碼; 彙編
.h   預處理文件(標頭文件); (不常出現在指令行)
其他擴展名的文件是由連結程序來處理,通常有:
.o   編譯後的目標代碼(Object file)
.a/.so   編譯後的庫代碼(Archive file)
2 常用命令行選項
GCC可以接受的命令行選項長達數頁,下列只列出了最常用的部分。
選項 說明
-o FILE 指定輸出文件名,在編譯爲目標代碼時,這一選項不是必須的。如果FILE沒有指定,默認文件名是a.out
-c 只編譯不連接
-D FOO=BAR 在命令行定義預處理宏FOO,其值爲BAR
-I DIRNAME 將DIRNAME加入到包含文件的搜索目錄列表中
-L DIRNAME 將DIRNAME加入到庫文件的搜索目錄列表中
-static 鏈接靜態庫,即執行靜態鏈接默認情況下GCC只鏈接共享庫
-l FOO 鏈接名爲libFOO的函數庫
-g 在可執行程序中包含標準調試信息
-ggdb 在可執行程序中包含只有GNU debugger(gdb)才能識別的大量調試信息
-O 優化編譯過的代碼
-ON 指定代碼優化的級別爲N,0?N?3,默認N=1
-ansi 支持ANSI/ISO C的標準語法,取消GNU的語法擴展中與該標準有衝突部分(但這一選項並不能保證生成ANSI兼容的代碼)
-pedantic 允許發出ANSI/ISO C標準所列出的所有警告
-pedantic-errors 允許發出ANSI/ISO C標準所列出的所有錯誤
-traditional 支持K&R C 語法
-w 關閉所有警告,建議不要使用此項
-Wall 允許發出GCC能提供的所有有用的警告
-Werror 把所有警告轉換爲錯誤,以在警告發生時終止編譯
-MM 輸出一個make兼容的相關列表
-v 顯示在編譯過程的每一步中用到的命令
參考文獻:[美]Kurt Wall等著 張輝 譯.《GNU/Linux編程指南》第二版 26-45.
更多信息請參考
http://gcc.gnu.org/onlinedocs/

 

發佈了2 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章