跳至內容

二進制檔案來講庫

出自Taiwan Tongues 台語維基
於 2025年8月24日 (日) 09:47 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

BFD 庫二進位檔案來講庫)是 GNU 專案用來解決無仝格式的目的檔的可移植性的主要機制。到二空空三冬為止,伊支援二十五種無仝 CPU 體系結構頂懸的大約五十種檔案格式。

歷史

上代先,當 Cygnus Solutions 公司的 David Henkel-Wallace 提議來做開發按呢一个庫來為公司創造新的商業機拄著時,Richard Stallman 講這會是一个困難的代誌;而且 David 的回覆是 " it wasn't such a'Big F \ * cking Deal'(無啥物大不了的)"。這句話的英文縮寫 BFD 便成為著這个庫的名稱,而且「Binary File Descriptor(二進位檔案來講)」 著是佇咧 BFD 縮寫的基礎頂懸發明的。

設計的

BFD 通過對目的檔提供公共抽象視圖來達成工作。一个目的檔有帶有描述資訊的一个「頭」;可變數目的「段」,逐號段攏有一个名、一寡屬性佮一塊資料;一个符號表;一組就回饋入口項;就是等等的這種。

佇內部,BFD 共資料對抽象視圖轉換到目標處理器佮檔案格式所要求的位 / 位元組布局的細節。伊的關鍵服務包括處理位元組序差異,比如講佇小端序主機佮大端序目標之間,佇咧三十二-bit 佮六十四-bit 資料之間的正確轉換,佮重定位入口項所指定的定址算術的鋩角。

就算講 BFD 上蓋起初設計成做會當予各種工具使用的通用庫,頻繁需要修補 API 來容納新系統的功能,傾向著限制矣伊的使用;BFD 的主要使用者是 GNU 組譯器(GAS), GNU 連接器(GLD), 佮其他 GNU 二進位實用程式(" binutils ")工具,和 GNU 除錯器(GDB)。 所以,BFD 袂單獨發行,總是包括佇 binutils 和 GDB 發行的內底。無論按怎,BFD 是將 GNU 工具用佇1875入式系統開發的關鍵部件。

BFD 庫會當用來讀核心轉儲的結構化資料。

參考文獻

外部連結

  • Binutils page , with access to current BFD sources

參見

  • ELF
  • COFF
  • a . out