gcc命令格式:
gcc [options] [filename]
選項:
-x language 指定使用的語言(C C++ 或彙編)
-c 只對文件進行編譯和彙編,不進行鏈接 gcc –c -o test.o test.c
-S 只對文件進行編譯,生成彙編文件,但是不進行彙編和鏈接 gcc –S -o test.asm test.c-E 只對文件進行預處理,不進行編譯彙編和鏈接 gcc –E test.c
-o [file1] file2 將文件file2編譯成可執行文件file1 gcc –o test test.c
-L library 用來指定所使用的庫文件 gcc –L/usr/bin/lib/ -o test test.c
-I directory 爲include文件搜索指定目錄 gcc –I/usr/include –o test test.c
-w 禁止警告信息
-pedantic 嚴格要求符合ANSI標準
-Wall 顯示附加的警告信息 gcc –Wall –o test test.c
-g 顯示排錯信息以便於調試 gcc –Wall –g –o test test.c
-p 產生prof所需的信息 gcc –p –o test test.c
-pg 產生gprof所使用的信息
-O(-O1) 對編譯出的代碼進行優化 gcc –O –Wall –o testtest.c 注意不要與-g合用,會出現錯誤
-O2 進行比-O高一級的優化
-O3 產生更高級別的優化
-v 顯示gcc版本
-m*** 根據不同的微處理器進行優化
C語言預處理器cpp 對C語言進行預處理(gcc自動調用cpp進行預處理),主要是處理掉宏定義和條件編譯
ld 連接器 對編譯出來模塊與C函數庫和初始化代碼進行組合。
as 彙編器 as處理彙編代碼,產生目標文件,這些目標文件最終將生成.o文件,庫文件或可執行文件。
ar 建立靜態庫 將幾個小文件組合成爲一個大文件。
ldd 庫顯示 一個可執行文件要使用共享庫,通過ldd工具顯示他們要使用的庫。
參考文章: