COFFアーカイブ形式は、オブジェクト ファイルの集まりを格納するための標準メカニズムを提供します。これらの集まりはしばしば、プログラミング関係の文書では「ライブラリ」と呼ばれます。アーカイブの先頭の8バイトは、ファイルシグネチャからなります。アーカイブの残りの部分は、以下に示す一連のアーカイブ メンバで構成されます。
- 先頭と2番目のメンバは「リンカ メンバ」です。これらのメンバを持つものは8.3節で説明するそれぞれの形式を持ちます。通常は、リンカは情報をこれらのアーカイブメンバの中に置きます。リンカ メンバはアーカイブのディレクトリを含みます。
- 3番目のメンバは長い名前メンバです。このメンバは一連のヌル終了ASCII文字列からなり、各文字列は別のアーカイブ メンバの名前です。
- アーカイブの残りの部分は標準(オブジェクト ファイル)メンバで構成されます。これらのメンバはそれぞれ、1つのオブジェクト ファイルの内容を完全に含みます。
アーカイブ メンバ ヘッダが各メンバの前に付けられます。次の図では、アーカイブの一般的な構造を示します。
シグネチャ :"!<arch>\n"
ヘッダ 第1リンカ メンバ
Header 第2リンカ メンバ
ヘッダ 長い名前メンバ
ヘッダ OBJファイル1の内容(COFF形式)
ヘッダ OBJファイル2の内容(COFF形式)
ヘッダ OBJファイルNの内容(COFF形式) 図4:アーカイブファイル構造体