GNU Binutils

用於操作物件檔案的工具集;其中最知名的是GNU組譯器與連結器;通常與GNU編譯器套裝(GCC)搭配使用

GNU Binary Utilitiesbinutils是一整套的程式語言工具程式,用來處理許多格式的目的檔。當前的版本原本由在Cygnus Solutions的程式員以二進制文件描述庫(libbfd)所撰寫。這個工具程式通常搭配GCCmake、和GDB這些程式來使用。

GNU Binutils
開發者GNU計劃
當前版本
  • 2.43.1(2024年8月17日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
操作系統跨平台
類型軟件開發工具
許可協議GNU通用公共許可證
網站www.gnu.org/software/binutils/

剛開始時,這個套件內只有幾支程式,但後來,由於功能需求近似,陸續加入了GNU組譯器(GAS)和GNU連結器(GLD)。一般來說,這些程式都很簡單,大部分的複雜性都存在於二進制文件描述庫libopcodes這些函式庫裡頭。

原來的BFD版本由David Henkel-Wallace和Steve Chamberlain所撰寫。Ken Raeburn和Ian Lance Taylor曾維護過。目前則是由Nick Clifton負責維護此版本。至於Linux上的版本,由H.J. Lu在維護。

指令

編輯

binutils包含底下這些指令:

as 組譯器
ld 鏈接器
gprof 性能分析工具程式
addr2line 從目的檔的虛擬位址取得檔案的行號或符號
ar 可以對靜態函式庫做建立、修改和取出的操作。
c++filt 解碼 C++ 的符號
dlltool 建立Windows 動態函式庫
gold 另一種連結器
nlmconv 可以轉換成NetWare Loadable Module目的檔格式
nm 顯示目的檔內的符號
objcopy 複製目的檔,過程中可以修改
objdump 顯示目的檔的相關資訊,亦可反組譯
ranlib 產生靜態函式庫的索引
readelf 顯示ELF檔案的內容
size 列出總體和section的大小
strings英語strings (Unix) 列出任何二進位檔內的可顯示字串
strip 從目的檔中移除符號
windmc 產生Windows訊息資源
windres Windows 資源檔編譯器

參考資料

編輯
  1. ^ GNU Binutils 2.43.1 released. 2024年8月17日 [2024年8月18日]. 

參見

編輯

外部連結

編輯