7.2 アーカイブ メンバ ヘッダ

各メンバ(リンカ、長い名前、あるいはオブジェクト ファイル メンバ)の前にはヘッダが付きます。アーカイブ メンバ ヘッダの形式は下記の通りです。ここでは、各フィールドはASCIIテキスト文字列で、左詰めされ、フィールドの終わりまではスペースで埋められます。これらのフィールドの終わりにはヌル文字はありません。

各メンバ ヘッダは、前のアーカイブ メンバの終わりよりも後の、最初の偶数アドレスから始まります。

オフセット サイズ フィールド 解説
0 16 Name アーカイブ メンバの名前の終わりにスラッシュ(/)を付けたもの。先頭の文字がスラッシュである場合には、その名前は下で説明する特殊な意味を持ちます。
16 12 Date アーカイブ メンバが作成された日時。UCTの1970年1月1日からの秒数を表すASCII 10進表現。
28 6 User ID ユーザーIDのASCII 10進表現。
34 6 Group ID グループIDのASCII グループ表現。
40 8 Mode メンバのファイル モードのASCII 8進表現。
48 10 Size アーカイブ メンバの合計サイズのASCII 10進表現。ヘッダのサイズは含みません。
58 2 End of Header C の文字列 "&lsquo\n" 内の2バイト。

名前フィールドは次の表に示す形式の1つを取ります。上で述べたように、これらのフィールドは左詰めで、16バイトのフィールドの残りの部分はスペースで埋められます。

名前フィールドの
内容
解説
name/ このフィールドは、アーカイブ メンバ ディレクトリの名前を示します。
/ アーカイブ メンバは2つのリンカ メンバの1つです。リンカ メンバはどちらもこの名前を持ちます。
// アーカイブ メンバは長い名前メンバで、一連のヌルで終わるASCII文字列からなります。長い名前メンバは3番目のアーカイブ メンバであり、その内容が空であっても常に存在しなければなりません。
/n アーカイブ メンバの名前は長い名前メンバ内のオフセットnにあります。数字nはオフセットの10進表現です。たとえば、\26はアーカイブ メンバが長い名前メンバの内容の始まりの26バイト越えたところにあることを示します。


戻る