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

GNU Binutils
開發者GNU計劃
当前版本
  • 2.46.1(2026年6月8日;穩定版本)[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 release 2.46.1 is now available. 2026年6月8日 [2026年6月9日]. 

参见

编辑

外部链接

编辑

📚 Artikel Terkait di Wikipedia

Ar (Unix)

detection). GitHub. [10 February 2020]. (原始内容存档于2021-02-28) (英语).  ar. GNU Binary Utilities. [2020-09-22]. (原始内容存档于2021-04-18).  維基教科書中的相關電子教程:Commands ar: create

Linux

GNU函式库与基础用户态工具、命令行Shell,以及用于提供图形界面的软件系统,例如X Window系统或Wayland显示系统,并在其上运行桌面环境,如GNOME或KDE等。 用户空间组件通常包括系统运行所需的基础工具集与运行环境,例如GNU Core Utilities

Sha1sum

,它使用特定的SHA-2哈希函数。 SHA-1 变体被证明容易受到碰撞攻击,用户应该改用,例如,SHA-2 变体,如sha256sum以防止被对手篡改。 它包含在GNU Core Utilities 、 Busybox 、 和Toybox 中。 可以使用各种系统的端口,包括 Microsoft Windows。 要创建一个包含 SHA-1

LZMA

(用于记录玩家的游戏回放,osu!将光标移动信息以LZMA格式压缩为存档。) LZMA的压缩输出流是一个比特流,采用自适应二进制行程编码器(adaptive binary range coder)。比特流划分为包(packet),每个包或者表示一个字节的受压缩数据,或者如同LZ77的压缩输出序列那样的长度与距离的

定點數運算

WavPack無損聲音壓縮器也是使用定點運算。此決定有一部份是擔心不同硬體中對於浮點數的捨入規則差異會破壞壓縮器的無損特性。 Nest Labs Utilities library提供少量針對定點數的巨集以及函數,特別是用在處理和感測器取樣以及感測器輸出有關的數字。 OpenGL ES 1