コンテンツにスキップ

ar (UNIX)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

UNIXarchiverarar使artararGNU Binutils

ファイルフォーマットの詳細

[編集]

ar2BSDGNU

AIX[1]"Small"[2]"Big"[3]"Coherent"3BSDGNU

DebianLinux".deb"BSDGNUar

ar

2'\n'

Win32Microsoft Windows(.lib)ar使

グローバルヘッダ

[編集]

グローバルヘッダはマジックアスキー文字列"!<arch>"を含む単一のフィールドであり、その後、制御文字である単一のラインフィード(LF)が続く。

ファイルヘッダ

[編集]

以下のような共通フォーマットを持つ。

フィールドの開始オフセット フィールドの終了オフセット フィールド名 フィールドフォーマット
0 15 ファイル名 ASCII
16 27 ファイル改変時のタイムスタンプ 十進数
28 33 UID 十進数
34 39 GID 十進数
40 47 ファイルモード 八進数
48 57 ファイルサイズ(バイト) 十進数
58 59 マジックナンバー 0x60 0x0A

ファイル名の長さやフォーマットの制限により、GNUとBSDの派生双方で長いファイル名を格納する方法(ただし両者で異なる)が開発されている。

BSDの派生版

[編集]

BSD ar"#1/"

GNUの派生版

[編集]

GNU ar"//""/""//"1LF"//"

GNU ar'/'使

GNU ar"/"ar3

(一)32

(二)321

(三)02

"/"

ranlibar s

使用例

[編集]

例えば、ファイルclass1.o, class2.o, class3.oからなるアーカイブを作成するには、次のコマンドを実行する。

ar rcs libclass.a class1.o class2.o class3.o

class1.o, class2.o, and class3.oに依存するプログラムをコンパイルするには次を実行する。

cc main.c libclass.a

以上が静的リンクの方法だが、以下のようにライブラリを作成することなくプログラムにコンパイルすることもよく行われる。

cc main.c class1.o class2.o class3.o

脚注

[編集]


(一)^  ar Command.  IBM. 2011527

(二)^  ar File Format (Small).  IBM. 2011527

(三)^  ar File Format (Big).  IBM. 2011527

関連項目

[編集]

外部リンク

[編集]