7.3 第1リンカ メンバ

第1リンカ メンバの名前は\です。第1リンカ メンバは、従来のものとの互換性維持のために含まれているもので、現在のリンカによっては使用されませんが、その形式は正しくなければなりません。このリンカ メンバは、第2リンカ メンバと同様に、シンボル名のディレクトリを提供します。各シンボルごとに、この情報はシンボルを含んでいるアーカイブメンバがどこにあるかを示します。第1リンカ メンバの形式は次の通りです。この情報はヘッダの後に現れます。

オフセット サイズ フィールド 解説
0 4 Number of Symbols インデックスの付いたシンボルの番号を含む符号なしlong型。この番号はビッグ エンディアン形式で格納されます。各オブジェクト ファイルメンバは、1つまたは複数の外部シンボルを定義するのが普通です。
4 4 * n Offsets アーカイブ メンバ ヘッダへのファイルオフセットの配列。nはNumber of Symbolsに等しい数です。配列内の各番号は符号なしlong型で、ビッグ エンディアン形式で格納されています。String Table内で名前が付けられている各シンボルには、Offsets配列内の対応する要素が、そのシンボルを含んでいるアーカイブ メンバの場所を与えます。
* * String Table 一連のヌルで終わる文字列で、ディレクトリ内のすべてのシンボルの名前を付けます。各文字列は前の文字列のヌル文字の直後から始まります。文字列の数はNumber of Symbolsフィールドの値に等しくなければなりません。

Offsets配列内の要素は昇順になっていなければなりません。この事実は、String Table内にリストされているシンボルはアーカイブ メンバの順序にしたがって配置されなければならないことを意味します。たとえば、最初のオブジェクト ファイル メンバ内のすべてのシンボルは2番目のオブジェクト ファイル内のシンボルの前にリストされなければなりません。


戻る