gcc基本功能以及常見編譯選項
1、gcc xxx.c主要包含以下4部分功能:
(1) 預處理:主要實現對頭文件的包含以及宏替換等
(2) 編 譯:主要將高級語言轉換為匯編語言
(3) 匯 編:主要將匯編語言翻譯成機器指令,得到目標文件
(4) 鏈 接:主要將目標文件和庫文件進行鏈接,生成可執行文件
2、常見的編譯選項
(1) -E - 進行預處理,預處理的結果默認輸出到控制臺
使用gcc -E xxx.c -o xxx.i 將預處理結果定位到xxx.i文件中,預處理後的文件主要包含:頭文件,類型的別名,各種函數的聲明等等
(2) -S - 進行編譯處理,生成匯編文件xxx.s
(3) -c - 進行匯編處理,生成目標文件xxx.o
(4) gcc/cc xxx.o - 鏈接處理,生成可執行文件a.out
例:
gcc/cc -E xxx.c -o xxx.i
=> 預處理,生成 .i 文件
gcc/cc -S xxx.i/xxx.c
=> 編譯,生成 .s 文件
gcc/cc -c xxx.s/xxx.i/xxx/c
=> 匯編,生成 .o文件
gcc/cc xxx.o/xxx.s/xxx.i/xxx.c
=>鏈接,生成a.out文件
3、熟悉的選項:
-std - 主要用於指定編譯時遵循的C標準
-Wall - 主要用於盡可能的產生警告信息
-Werror - 主要用於將警告當做錯誤進行處理
4、了解的選項:
-v - 主要用於查看gcc的版本信息
-g - 主要用於生成調試信息(gdb調試)
-O - 主要用於進行優化處理
-x - 主要用於顯示指定源代碼的編程語言
5、 擴展的選項
man gcc/cc 查看gcc更多的選項等信息
gcc基本功能以及常見編譯選項