BFDライブラリ(ビーエフディーライブラリ、Binary File Descriptor Library)は、GNUプロジェクトにおいて、各種のオブジェクトファイルを取り扱う主要なメカニズムである。2003年時点で、約50のファイルフォーマットと約25のプロセッサ・アーキテクチャをサポートしている。 BFDライブラリは、オブジェクトファイルに共通の抽象的なビューを与えることにより動作する。オブジェクトファイルは、それぞれが名前・属性・データブロックを持つ複数の「セクション」、シンボルテーブル、リロケータブルバイナリのエントリ、を記述する「ヘッダ」を持つ。 内部的にBFDライブラリは、データを抽象的な形式から対象のプロセッサやファイルフォーマットが要求するビット/バイトレイアウトの形式に変換する。その主要なサービスはバイトオーダーの違いを取り扱うことである。例えば、リトルエンディアンのホスト
![BFDライブラリ - Wikipedia](https://cdn-ak-scissors.b.st-hatena.com/image/square/802820b466968328ec37e7b84cd0909a11721c28/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F2%2F22%2FHeckert_GNU_white.svg%2F64px-Heckert_GNU_white.svg.png)