gcc常用編譯選項的含義
-g : 加入調試信息
-m64 : 64位
-c : 只做預處理、編譯和彙編,不鏈接,產生的是目標文件(.o文件)
-S : 只做預處理和編譯,把文件編譯成爲彙編代碼
-include : 某個代碼,簡單來說,就是便以某個文件,需要另一個文件的時候,就可以用它設定,功能就相當於在代碼中使用#include<filename> ,例如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爲最高優 化級別
-m64 : 64位
-c : 只做預處理、編譯和彙編,不鏈接,產生的是目標文件(.o文件)
-S : 只做預處理和編譯,把文件編譯成爲彙編代碼
-include : 某個代碼,簡單來說,就是便以某個文件,需要另一個文件的時候,就可以用它設定,功能就相當於在代碼中使用#include<filename> ,例如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爲最高優 化級別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.