gcc識別的文件的擴展名以下:c++
.c c語言程序。工具
.i c語言預處理後的文件。優化
.C .cc. cpp. cp c++程序。調試
.ii c++預處理後的程序。編譯器
.S 彙編文件編譯
.s 預處理後的彙編文件。gcc
.o 編譯後的目標文件。擴展
.a 目標文件的靜態連接庫、配置
.so 目標文件的動態連接庫。file
gcc ,g++編譯選項。
-o file 指定生成輸出的文件名。
-E 只進行預處理
-S 只進行預處理和編譯
-c 只進行預處理和編譯和彙編,不連接。
-Wall 打印全部的警告。
-w 關閉全部的警告。
-0[0-3] 編譯器優化級別,0表示不優化。
-include file 插入一個文件。等同於源程序中的#include
-Dmacro[=def] 將名爲marco的宏定義爲def,若def忽略不寫,則marco=1
-Umacro 取消宏定義。
-v 顯示gcc工具的配置命令,預處理器和編譯器的版本號。
-ldir 將dir目錄加入頭文件搜索目錄列表,優先在dir目錄中包含的頭文件。
-Ldir 將dir目錄加入庫文件目錄列表,優先在dir目錄中查找庫文件。
-lname 連接庫爲name的庫
-static 連接時使用靜態庫
-shared 連接時使用動態庫
-g 在可執行文件中加入標準調試信息。
gcc舉例: gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.o -o hello_elf
等同於: gcc hello.c -o hello_elf