gcc 編譯選項

2021-08-01 11:18:03 字數 1101 閱讀 5226

1.1 常規選項

1、沒有任何選項:gcc   helloworld.c

結果會在與helloworld.c相同的目錄下產生乙個a.out的可執行檔案。

2、-o選項,指定輸出檔名:gcc -o helloworld helloworld.c

-o意思是output即需要指定輸出的可執行檔案的名稱。這裡的名稱為helloworld。

3、-c選項,只編譯,不彙編連線:gcc -c helloworld.c

-c意思就是compile,產生乙個叫helloworld.o的目標檔案

4、-s選項,產生彙編原始檔:gcc -s helloworld.c

-s意思就是assemble,產生乙個叫helloworld.s的彙編原始檔

5、-e選項,預處理c原始檔:gcc -e helloworld.c

-e意思就是preprocess。輸出不是送到乙個檔案而是標準輸出。當然可以對它進行重定向:

gcc -e helloworld.c > helloworld.txt

1.2 優化選項

1) -o選項,基本優化:gcc -o helloworld.c

-o意思就是optimize,產生乙個經過優化的叫作a.out的可執行檔案。也可以同時使用-o選項,以指定輸出檔名。如:

gcc -o -o test helloworld.c

即會產生乙個叫test的經過優化的可執行檔案。

2) -o2選項,最大優化:gcc -o2 helloworld.c

產生乙個經過最大優化的叫作a.out的可執行檔案。

1.3 除錯選項

1) -g選項,產生供gdb除錯用的可執行檔案:gcc -g helloworld.c

產生乙個叫作a.out的可執行檔案,大小明顯比只用-o選項編譯彙編連線後的檔案大。

2) -pg選項,產生供gprof剖析用的可執行檔案:gcc -pg helloworld.c

產生乙個叫作a.out的執行檔案,大小明顯比用-g選項後產生的檔案還大

GCC編譯選項

gcc g 在執行編譯工作的時候,總共需要4步 1.預處理,生成.i的檔案 預處理器cpp 2.將預處理後的檔案不轉換成組合語言,生成檔案.s 編譯器egcs 3.有彙編變為目標 機器 生成.o的檔案 彙編器as 4.連線目標 生成可執行程式 鏈結器ld 引數詳解 c 只啟用預處理,編譯,和彙編,也...

gcc 編譯選項

gcc 編譯選項,自己翻譯的.gcc 編譯選項,自己翻譯的.o 設定輸出檔名 c 只編譯,不連線.e 只做預編譯.pipe 在多個編譯過程之間使用管道.version 顯示版本.static 靜態連線.ansi c 模式下支援所有 iso c90 標準的 c 程式,c 模式下去除對 gnu c 擴充...

gcc 編譯選項

wall 大部分警告 wextra 一些額外的警告 werror 當出現警告時轉為錯誤,停止編譯 wconversion 一些可能改變值的隱式轉換,給出警告。wno unused parameter 函式中出現未使用的引數,不給出警告。wold style cast c風格的轉換,給出警告 wove...