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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章