GCC是一族工具的集合,包含預處理器、編譯器、彙編器、連結器。
對于預設的檔案名,GCC可以自動選擇工具自動完成檔案處理過程。
從C語言的源程式道可執行檔案,實質上是依靠GCC調用一系列工具完成的。
GCC預設處理的檔案
檔案類型 | 擴充名 | 檔案說明 |
文本檔案 | *.c | C源檔案 |
文本檔案 | *.c | C源檔案 |
文本檔案 | *.cpp | C++源檔案 |
文本檔案 | *.i | 預處理後的C源檔案 |
文本檔案 | *.ii | 預處理後的C++源檔案 |
文本檔案 | *.s | 彙編語言 |
文本檔案 | *.h | 頭檔案 |
二進制檔案 | *.o | 目标檔案 |
二進制檔案 | *.so | 動态庫(共享庫) |
二進制檔案 | *.a | 靜态庫(歸檔檔案) |
Binutils工具集合
Binutils是一個二進制工具集合,包含彙編、連結以及一系列的輔助工具。
工具名稱 | 說明 |
as | GNU彙編器。将處理器的彙編代碼轉換成可執行代碼,并存儲道目标檔案.o檔案中 |
ld | GNU連結器。将一個或多個目标檔案.o庫組合成一個可執行程式;或者生成靜态庫和動态庫 |
ar | 歸檔工具,可以将多個檔案組合成一個大檔案,并且可以讀取原始檔案的内容 |
stripe | 取出檔案中的符号 |
nm | 用來顯示目标檔案中的符号 |
objectcopy | 轉換成二進制代碼的工具 |
objdump | 顯示目标檔案的反彙編工具 |
readelf | 顯示ELF檔案中的各種資訊 |
string | 顯示檔案中的可列印字元 |
ranlib | 産生歸檔檔案的索引,并将其儲存到歸檔檔案中,索引同時列出歸檔檔案各成員所定義的可重配置設定目标檔案 |
addr2line | 可以将一個可執行程式的位址映射到源檔案的對應行 |
gprof |