gcc常用引數

2021-05-23 03:20:55 字數 1031 閱讀 7478

gcc的一些重要引數

1. -i 指定標頭檔案搜尋路徑(i 表include)

如 $gcc -c hello.c -o hello.o -i/usr/include

2.-l 指定要連線的庫所在的目錄

-l 指定要連線的庫的名字

如$gcc main.o -l/usr/lib -lqt -o hello

3. -d 定義巨集(d-define)

-d定義巨集有兩種情況,一種是 -dmacro 相當於程式中使用#define macro 另外可

以-dmacro=a 相當於程式中使用#define macro a 這只是乙個編繹引數,在連線時沒有

意義如: $gcc -c hello.c -o hello.o -ddebug

上面為 hello.c定義了乙個debug巨集,某些情況下使用-d 代替直接在檔案中使用

#define,也是為了避免修改源**雙。例如乙個程式希望 在開發除錯的時候能列印出

除錯資訊,而正式發布的時候就不用列印了,而且發布前不用修改源**雙。可以這樣

#ifdefine debug

printf("debug message/n");

#endif

對於這段**,平時除錯的時候就加上 -ddebug 發布時不用-d選項

與之對應的是-umacro引數,相當於#undef macro,取消巨集定義

4. -g 生成除錯資訊

-g生成除錯資訊,這對使用gdb進行除錯是必須的。帶有除錯資訊的檔案要比普通檔案

要大,但不影響執行,可以用strip 命令除於其中的除錯資訊

5. -c指於gcc只進行編繹,不連線

6. -ansi 指示gcc只支援ansi c標準語法

7. -o 指定輸出檔名

8. -o 指定優化處理

-o0不優化 -o1或-o 一級優化 -o2 二級優化...-o3,-o4

級別越高,,**越優,編繹時間越長。

9. -m486 針對特定的目標計算機進行優化,預設是386

10. -w 關閉編譯器警告資訊

gcc常用引數

今晚看了些有關gcc的編譯選項的內容,記錄下來以備查用。1 gcc c 只編譯不鏈結,生成.o檔案。例如,gcc c hello.c,將由hello.c得到hello.o 2 gcc o直接得到可執行檔案,並且可以指定可執行檔的名稱。例如,gcc o hello hello.c,將由hello.c得...

gcc常用引數

o file 指定輸出檔名,在編譯為目標 時,這一選項不是必須的。如果file沒有指定,預設檔名是a.out.c 只編譯不鏈結 dfoo bar 在命令列定義預處理巨集foo,其值為bar idirname 將dirname加入到頭檔案的搜尋目錄列表中 ldirname 將dirname加入到庫檔案...

gcc常用引數

gcc e source file.c e,只執行到預編譯。直接輸出預編譯結果。gcc s source file.c s,只執行到源 到彙編 的轉換,輸出彙編 gcc c source file.c c,只執行到編譯,輸出目標檔案。gcc e s c source file.c o output ...