1. 程式人生 > >gcc常用編譯選項詳解

gcc常用編譯選項詳解

gcc常用編譯選項

-g : 加入除錯資訊

-m64 : 64位

-c : 只做預處理、編譯和彙編,不連結,產生的是目標檔案(.o檔案)

-S : 只做預處理和編譯,把檔案編譯成為彙編程式碼

-include : 某個程式碼,簡單來說,就是便以某個檔案,需要另一個檔案的時候,就可以用它設定,功能就相當於在程式碼中使用#include ,例如gcc hello.c -include /root/test.h

-I : 程式中用#include”file”的時候,gcc/g++會先在當前目錄查詢你所制定的標頭檔案,如果沒有找到,他回到預設的標頭檔案目錄找,如果使用-I指定了目錄,他會先在你-I後所指定的目錄查詢,然後再按常規的順序去找

-I$(PATH) : inlcude,PATH指定一個環境變數的值

-fPIC : 該選項用於生成位置無關的程式碼

-shared : 將-fPIC生成的位置無關的程式碼作為動態庫,一般情況下,-fPIC和-shared都是一起使用的。生成SO檔案,共享庫

-static : 此選項將禁止使用動態庫,所以,編譯出來的東西,一般都很大,也不需要什麼動態連線庫,就可以執行

-o : 指定程式的名字

-l : 指定so檔案的名字,比如需要libcdaParser.so,就可以寫成-lcdaParser,前面的lib和後面的.so可以省略

-L : 指定so檔案所在的目錄

-O : 編譯器的優化選項,-O0表示不做優化,-O1為預設,-O3為最高優 化級別