7.4 第2リンカ メンバ

第2リンカ メンバは第1リンカ メンバと同様に名前\を持ちます。どちらのリンカ メンバもシンボルのディレクトリとそれを含むアーカイブ メンバを提供しますが、第2リンカ メンバは、現在のすべてのリンカによって第1リンカ メンバに優先して使用されます。第2リンカ メンバはシンボル名を辞書順で含んでおり、これによって名前をより速く検索できるようになっています。

第2リンカ メンバの形式は以下の通りです。この情報はヘッダの後に現れます。

オフセット サイズ フィールド 解説
0 4 Number of Members アーカイブ メンバの数を含む符号なしlong型。
4 4 * m Offsets アーカイブ メンバ ヘッダへのファイル オフセットの配列で、昇順に並んでいます。各オフセットは符号なしlong型です。数mはNumber of Membersフィールドの値と等しい数です。
* 4 Number of Symbols インデックスの付いたシンボルの数を含む符号なしlong。各オブジェクト ファイルメンバは1つまたは複数の外部シンボルを定義するのが普通です。
* 2 * n Indices 1から始まるインデックス(符号なしshort)の配列で、シンボル名をアーカイブメンバオフセットにマップします。数nはNumber of Symbolsの値に等しい数です。String Table内で名前が付けられている各シンボルには、Indices配列内の対応する要素が、Offsets配列へのインデックスを与えます。Offsets配列は、そのシンボルを含んでいるアーカイブ メンバの位置を与えます。
* * String Table 一連のヌルで終わる文字列で、ディレクトリ内のすべてのシンボルの名前を付けます。各文字列は前の文字列のヌル文字の直後から始まります。文字列の数はNumber of Symbolsフィールドの値に等しくなければなりません。このテーブルでは、すべてのシンボル名のリストが辞書順の昇順になっています。


戻る