2013年9月10日 星期二

gcc/g++ 常用參數

因為常用到gcc/g++ 所以將常用到的參數列出:



gcc [option] filename

※ 選項

-c : 只做編譯(不做連結)
-S : 輸出組譯碼
-E : 將預處理結果顯示
-o filename : 指定輸出檔名
-ansi : 程式要求依據ansi c標準
-Dmacro : 使定義巨集(marco)為有效
-Dmarco=defn : 使定義巨集(marco)為defn
-Wa,option : 將選項(option)傳給組譯器
-wl,option : 將選項(option)傳給連結器
-I : 追加include檔案的搜尋路徑
-L : 追加library檔案的搜尋路徑
-l : 指定連結的函式庫
-Wall : 顯示所有的警告訊息
-g : 編入除錯資訊(要使用GDB除錯一定要加)
-O2 : 做最佳化

-M : 生成文件所關聯的信息,包含目標文件所依賴的所有源代碼, ex: gcc -M hello.c
-MM: 與-Mㄧ樣,只是他將忽略由#include<file>所造成的依賴關係
-MD: 與-Mㄧ樣,但是輸出將導入到.d的文件裡面



以上將會依照使用情況陸續增加。
基本上以上這些參數很夠用了,但如果要更詳細可參照:
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/22/1782678.html
這裡面詳細解說所有參數,且說明了動態庫與靜態庫連結的觀念,並且舉例。

Reference:
1.http://www.cnblogs.com/yc_sunniwell/archive/2010/07/22/1782678.html
2.http://www.wretch.cc/blog/Geniusking/7263728





沒有留言:

張貼留言