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為最高優 化級別