gcc 引數說明

2021-10-03 11:32:55 字數 989 閱讀 7591

-g     產生帶除錯資訊的編譯後目標**,供偵錯程式(gdb)使用     gcc -g source.c

-c     預處理時不刪除注釋資訊     配合-e使用

-o     使用編譯優化級別1編譯程式。o後還可附帶其他的數值,表示不同的優化級別。級別越大優化效果越好,但編譯時間越長   -o0:無優化(預設) 。 -o和-o1:優化可執行檔案大小及執行時間,且不使編譯時間明顯增加。編譯大型程式時會顯著增加編譯時記憶體的使用。 -o2:包含-o1的優化,並增加無需在目標檔案大小和執行速度上進行折衷的優化。編譯器不執行迴圈展開及函式內聯,即不進行「空間換時間」的優化。該選項將增加編譯時間和目標檔案的執行效能。-os:執行所有不增加目標檔案大小的-o2選項,並執行專門減小目標檔案大小的優化選項。 -o3: 開啟所有-o2優化選項並且增加 -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload和-ftree-vectorize優化選項。[e.g.1]gcc -o1 source.c -o exec

-l引數就是用來指定程式要鏈結的庫,-l引數緊接著就是庫名,那麼庫名跟真正的庫檔名有什麼關係呢?

就拿數學庫來說,他的庫名是m,他的庫檔名是libm.so,很容易看出,把庫檔名的頭lib和尾.so去掉就是庫名了。

-shared     生成共享目標檔案     用於建立共享鏈結庫

-w     禁止顯示任何警告資訊     

-wall     顯示全部警告資訊     

–version     顯示gcc版本號和版本資訊

-fpic 用於生成動態庫,和位置無關

編譯選項

作用-m32

int、long和指標是32位,產生**在i386系統上執行

-m64

int為32位、long和指標是64位,產生**x86-64架構上執行

-mx32

int、long和指標是32位,產生**x86-64架構上執行

gcc 引數說明

gcc c 檔案只編譯生成.o不鏈結 gcc o 檔案 可執行檔名 檔案 o 鏈結生成可執行檔案 下面是簡單例子 fun.h void fun fun.c include include fun.h void fun dfun.c include include fun.h int main int...

gcc 引數說明

l引數就是用來指定程式要鏈結的庫,l引數緊接著就是庫名,那麼庫名跟真正的庫檔名有什麼關係呢?就拿數學庫來說,他的庫名是m,他的庫檔名是libm.so,很容易看出,把庫檔名的頭lib和尾.so去掉就是庫名了 好了現在我們知道怎麼得到庫名,當我們自已要用到乙個第三方提供的庫名字libtest.so,那麼...

gcc常見引數說明

1.gcc包含的c c 編譯器 gcc,cc,c g gcc和cc是一樣的,c 和g 是一樣的。一般c程式就用gcc編譯,c 程式就用g 編譯。2.gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為test的程式,o引數...