BFD庫二進制檔案描述庫)是GNU專案用於解決不同格式的目標文件的可移植性的主要機制。到2003年為止,它支援25種不同CPU體系結構上的大約50種檔案格式

Quick Facts 原作者, 原始碼庫 ...
Binary File Descriptor library
原作者Cygnus Solutions
原始碼庫 編輯維基數據連結
程式語言C語言
類型
許可協定GNU通用公共許可證
Close

歷史

最初,當Cygnus Solutions公司David Henkel-Wallace提議開發這樣一個庫來為公司創造新的商業機遇時,Richard Stallman說這會是一件困難的事情;而David的回覆是" it wasn't such a 'Big F*cking Deal'(沒什麼大不了的)"。這句話的英文縮寫BFD便成為了這個庫的名稱[1],而「Binary File Descriptor(二進制檔案描述)」則是在BFD縮寫的基礎上發明的。

設計

BFD通過對目標文件提供公共抽象視圖來達成工作。一個目標文件有帶有描述資訊的一個「頭」;可變數目的「段」,每個段都有一個名字、一些屬性和一塊數據;一個符號表;一組重定位入口項;諸如此類。

在內部,BFD將數據從抽象視圖轉換到目標處理器和檔案格式所要求的位/位元組佈局的細節。它的關鍵服務包括處理位元組序差異,比如在小端序主機和大端序目標之間,在32-bit64-bit數據之間的正確轉換,和重定位入口項所指定的定址算術的細節。

儘管BFD最初設計成為可以被各種工具使用的通用庫,頻繁需要修補API來容納新系統的功能,傾向於限制了它的使用[2][3][4];BFD的主要用戶是GNU組譯器(GAS),GNU連接器(GLD),和其他GNU二進制實用程式("binutils")工具,和GNU除錯器(GDB)。因此,BFD不單獨發行,總是包括在binutils和GDB發行之中。不論如何,BFD是將GNU工具用於嵌入式系統開發的關鍵部件。

BFD庫可以用來讀取核心轉儲的結構化數據。

參考文獻

外部連結

參見

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.