Manpages

名 前

ar − 書 庫 の 作 成 、 変 更 、 お よ び 書 庫 か ら の フ ァ イ ル の 取 出 し を 行 う

書 式

ar [-]{dmpqrtx}[abcilosSuvV] [membername] archive files...

説 明

GNU arプ ロ グ ラ ム は 書 庫 ( archive ) フ ァ イ ル の 作 成 、 変 更 、 お よ び 書 庫 か ら の フ ァ イ ル の 取 出 し を 行 う 。 書 庫 は い く つ か の フ ァ イ ル を 集 め て 一 つ の フ ァ イ ル に し た も の で 、 内 部 か ら オ リ ジ ナ ル の フ ァ イ ル そ れ ぞ れ を 復 元 す る こ と が で き る よ う に な っ て い る 。 内 部 に 含 ま れ る フ ァ イ ル を 書 庫 の メ ン バ ー と 呼 ぶ 。 オ リ ジ ナ ル の フ ァ イ ル の 内 容 、 モ ー ド (許 可 属 性 )、 タ イ ム ス タ ン プ 、 オ ー ナ ー お よ び グ ル ー プ も 書 庫 に 保 存 さ れ 、 取 出 し の 際 に 再 設 定 す る こ と が で き る 。

GNU ar で は 、 書 庫 に 含 ま れ る メ ン バ ー の 名 前 の 長 さ に 制 限 は な い 。 た だ し ar の イ ン ス ト ー ル 時 の 設 定 に よ っ て は 、 制 限 が 付 い て い る 場 合 が あ る か も し れ な い (他 の ツ ー ル で 扱 え る 書 庫 フ ォ ー マ ッ ト と の 互 換 性 の た め で あ る こ と が 多 い )。 制 限 が あ る 場 合 に は 、 15 文 字 (a.out 関 連 フ ォ ー マ ッ ト ) ま た は 16 文 字 (coff 関 連 フ ォ ー マ ッ ト ) で あ る こ と が 多 い 。

ar は バ イ ナ リ ー ユ ー テ ィ リ テ ィ (binary utility) と さ れ て い る 。 な ぜ な ら こ の 種 の 書 庫 は 汎 用 の サ ブ ル ー チ ン を ま と め た ラ イ ブ ラ リ と し て 用 い ら れ る こ と が 多 い か ら で あ る 。

ar は 、 書 庫 に 入 っ て い る リ ロ ケ ー タ ブ ル な オ ブ ジ ェ ク ト モ ジ ュ ー ル に 含 ま れ る シ ン ボ ル の 索 引 (index) を 作 成 す る こ と が で き る 。 こ れ は 修 正 子 (modifier) ’s’ が 指 定 さ れ た と き の 動 作 で あ る 。 一 度 作 成 さ れ る と 、 こ の 索 引 は ar に よ っ て 書 庫 の 内 容 が 変 更 さ れ る た び に 更 新 さ れ る (た だ し ’q’ に よ っ て 書 庫 が 更 新 さ れ た 場 合 を 除 く )。 こ の よ う な 索 引 を 持 っ た 書 庫 で は 、 ラ イ ブ ラ リ と し て リ ン ク さ れ る 場 合 の 速 度 が 向 上 す る 。 ま た ラ イ ブ ラ リ の 内 部 に 含 ま れ る ル ー チ ン が 、 書 庫 内 部 で の 位 置 に よ ら ず お 互 い を 呼 び 出 す こ と が で き る よ う に な る 。

nm −s’ ま た は ’nm −−print−armap’ と す れ ば こ の 索 引 を リ ス ト す る こ と が で き る 。 書 庫 に 索 引 が な い 場 合 は 、 ar の 別 名 で あ る ranlib を 用 い て 索 引 を 追 加 す る こ と も で き る 。

ar の 実 行 に は 最 低 2 つ の 引 数 が 必 要 で あ る 。 一 つ は ar の 動 作 (operation) を 指 定 す る 一 文 字 の 英 字 (動 作 指 定 子 :keyletter) で あ り (他 の 英 字 が 修 正 子 と し て 付 随 す る こ と も あ る )、 も う 一 つ は 実 際 に 操 作 の 対 象 と な る 書 庫 の 名 前 で あ る 。 ほ と ん ど の 動 作 で は 動 作 対 象 と す る フ ァ イ ル を files 引 数 と し て 与 え る こ と も で き る 。

オ プ シ ョ ン

GNU arで は 動 作 指 定 子 p と 修 正 子 mod の 順 番 は 任 意 で あ る が 、 こ れ ら は ま と め て 最 初 の コ マ ン ド ラ イ ン 引 数 に 与 え る 必 要 が あ る 。 最 初 の コ マ ン ド ラ イ ン 引 数 の 先 頭 に ダ ッ シ ュ (-) を 加 え て も か ま わ な い 。 動 作 指 定 子 p で は 実 行 す る 動 作 を 指 定 す る 。 こ れ に は 以 下 の ど れ か を 指 定 す る 。 複 数 指 定 す る こ と は で き な い 。

d 書 庫 か ら モ ジ ュ ー ル を 削 除

( Delete ) す る 。 削 除 す る モ ジ ュ ー ル の 名

前 は files に 指 定 す る 。 も し 一 つ も フ ァ イ ル が 指 定 さ れ な か っ た 場 合 は 、 書 庫 に 何 の 操 作 も 行 わ な い 。 修 正 子 と し て v を 指 定 す る と 、 ar は 削 除 し た モ ジ ュ ー ル を そ れ ぞ れ 表 示 す る 。

m 書 庫 中 の メ ン バ ー を 移 動

( Move )す る 。

一 つ の シ ン ボ ル が 書 庫 内 部 の 複 数 の メ ン バ ー に よ っ て 定 義 さ れ て い る 場 合 、 メ ン バ ー の 配 置 の 順 番 が 異 な る と 、 こ の ラ イ ブ ラ リ へ の リ ン ク の さ れ 方 が 予 想 と は 異 な る 可 能 性 が あ る 。 修 正 子 に よ る 指 定 が な け れ ば 、 m に よ る 操 作 で は files 引 数 に よ っ て 指 定 さ れ た メ ン バ ー を 書 庫 の 最 後 尾 に 移 動 す る 。 移 動 先 を 修 正 子 ’a’、 ’b’、 i に よ っ て 指 定 す る こ と も で き る 。

p 指 定 さ れ た 書 庫 内 部 の メ ン バ ー

(複 数 可 ) を 標 準 出 力 に 表 示 ( Print )

す る 。 ’v’ 修 正 子 が 指 定 さ れ た 場 合 に は 、 メ ン バ ー の 内 容 を 標 準 出 力 に 表 示 す る 前 に そ の メ ン バ ー の 名 前 を 表 示 す る 。

files を 指 定 し な い と 、 書 庫 の 内 部 の す べ て の フ ァ イ ル が 表 示 さ れ る 。

q

files を 書 庫 の 最 後 に 追 加 す る 。 こ の と き 置 き 換 え の チ ェ ッ ク を 行 わ な い (Quickappend)。 修 正 子 abi は こ の 操 作 に は 影 響 し な い 。 新 し い メ ン バ ー は 常 に 書 庫 の 最 後 に 配 置 さ れ る 。 修 正 子 vを つ け る と ar は 追 加 す る 際 に そ れ ぞ れ の フ ァ イ ル を 表 示 す る 。 こ の 操 作 の ミ ソ は 速 度 な の で 、 書 庫 の シ ン ボ ル テ ー ブ ル は 更 新 さ れ な い (存 在 し て い て も 更 新 さ れ な い )。 シ ン ボ ル テ ー ブ ル を 明 示 的 に 更 新 さ せ る に は ar s ま た は ranlib を 用 い れ ば よ い 。 し か し 、 quick append の 際 に index が 再 構 築 さ れ る と み な し て い る シ ス テ ム が あ ま り に も 多 い の で 、 GNU ar の 実 装 で は qr と 同 義 と し て い る 。

r

書 庫 に files を 挿 入 し 、 同 名 の フ ァ イ ル が あ っ た ら 置 換 ( Replacement ) す る 。 こ の 操 作 は q と は 異 な り 、 も と か ら 書 庫 に あ っ た メ ン バ ー の う ち 追 加 し た メ ン バ ー と 同 名 の も の は す べ て 削 除 さ れ る 。

files の リ ス ト の 中 に 存 在 し な い フ ァ イ ル が あ っ た 場 合 ar は エ ラ ー を 表 示 す る 。 そ し て そ の メ ン バ ー に 関 し て は 古 い も の を 書 庫 に そ の ま ま 残 し 、 変 更 を 行 な わ な い 。 デ フ ォ ル ト で は 新 た な メ ン バ ー は フ ァ イ ル の 最 後 に 追 加 さ れ る 。 修 正 子 abi を 使 え ば 、 現 在 存 在 し て い る メ ン バ ー か ら の 相 対 位 置 と し て 、 新 た な フ ァ イ ル を 追 加 す る 位 置 を 指 定 す る こ と が で き る 。 こ の 操 作 で 修 正 子 v を 用 い る と 、 挿 入 さ れ る フ ァ イ ル を 一 行 ず つ 表 示 す る 。 ま た こ の と き a ま た は r の 文 字 を 表 示 す る 。 こ れ は そ れ ぞ れ フ ァ イ ル が 追 加 (append) さ れ た (つ ま り 書 庫 に は 削 除 す べ き 古 い メ ン バ ー が 存 在 し な か っ た ) か 、 置 換 (replace) さ れ た か に 対 応 す る 。

t 書 庫 の 内 容 の 表

( table ) を 表 示 す る 。 files が 指 定 さ れ た 場 合

は 、 files の う ち 書 庫 に 存 在 す る も の を 表 示 す る 。 通 常 は メ ン バ ー の 名 前 の み が 表 示 さ れ る 。 モ ー ド (パ ー ミ ッ シ ョ ン )、 タ イ ム ス タ ン プ 、 オ ー ナ ー 、 グ ル ー プ 、 サ イ ズ な ど も 表 示 さ せ た い 場 合 に は 、 リ ク エ ス ト の 際 に 同 時 に 修 正 子 v を つ け れ ば 良 い 。

files を 指 定 し な け れ ば 、 書 庫 に あ る す べ て の フ ァ イ ル が リ ス ト さ れ る 。 同 じ 名 前 の フ ァ イ ル (仮 に fie と す る ) が 書 庫 (b.a と す る ) に 二 つ 以 上 存 在 す る 場 合 に は 、 ’ar t b.a fie’ で は 最 初 の も の し か 表 示 し な い 。 す べ て の fie を 表 示 さ せ た い 場 合 に は 、 書 庫 の フ ァ イ ル 全 て を 表 示 さ せ る よ う に 実 行 し な け れ ば な ら な い (こ の 例 な ら ば ’ar t b.a’ と な る )。

x メ ン バ ー を 書 庫 か ら 取 り 出 す

( eXtract )。 こ の 操 作 に 修 正 子 v を 用

い る と 、 ar は 取 出 し た フ ァ イ ル を そ れ ぞ れ 表 示 す る 。

files を 何 も 指 定 し な い と 、 書 庫 の す べ て の フ ァ イ ル が 取 り 出 さ れ る 。 い く つ か の 修 正 子 ( mod ) を 動 作 指 定 子 p に 続 け て 指 定 す る こ と が で き る 。 こ れ に よ っ て 動 作 を 調 整 す る こ と が で き る 。

( after ) に

a 新 た な フ ァ イ ル を 、 す で に 書 庫 に 存 在 す る メ ン バ ー の 後

追 加 す る 。 修 正 子 a を 用 い る 場 合 は 、 書 庫 に す で に 存 在 す る メ ン バ ー の 名 前 を 引 数 membername と し て 書 庫 名 の 指 定 の 前 に 置 か な け れ ば な ら な い 。

( before ) に

b 新 た な フ ァ イ ル を 、 す で に 書 庫 に 存 在 す る メ ン バ ー の 前

追 加 す る 。 修 正 子 b を 用 い る 場 合 は 、 書 庫 に す で に 存 在 す る メ ン バ ー の 名 前 を 引 数 membername と し て 、 書 庫 名 の 指 定 の 前 に 置 か な け れ ば な ら な い 。 ( i と 同 じ 動 作 を す る )

c 書 庫 を 作 成

( create ) す る 。 書 庫 を 更 新 す る 操 作 の 場 合 に は 、 指 定 し

た 書 庫 が 存 在 し な け れ ば 、 そ れ は 常 に 作 成 さ れ る 。 し か し こ の と き 警 告 メ ッ セ ー ジ が 出 る 。 こ の 修 正 子 を あ ら か じ め 同 時 に 指 定 し て お け ば 、 こ の 警 告 を 抑 止 す る こ と が で き る 。

f 書 庫 の 中 の 名 前 を 切 り つ め る 。 通 常

ar で は 、 フ ァ イ ル 名 に は 任 意 の 長

さ を 指 定 で き る 。 し か し こ の こ と は 、 他 の シ ス テ ム の ネ イ テ ィ ブ な ar プ ロ グ ラ ム と 互 換 性 の な い 書 庫 を 作 っ て し ま う 原 因 に も な り か ね な い 。 も し こ れ が 問 題 と な る と き は 、 修 正 子 f を 用 い れ ば 書 庫 の 中 に 入 れ る フ ァ イ ル の 名 前 を 切 り つ め る こ と が で き る 。

i 新 し い フ ァ イ ル を 書 庫 に 存 在 す る メ ン バ ー の 前 に 挿 入

(insert) す

る 。 こ の 修 正 子 i を 用 い る 際 に は 、 書 庫 に 存 在 し て い る メ ン バ ー の 名 前 を membername 引 数 と し て 書 庫 の 指 定 の 前 に 置 く 必 要 が あ る 。 ( b と 同 じ 動 作 を す る )

l こ の 修 正 子 は エ ラ ー に は な ら な い が 何 の 効 力 も な い 。

o 書 庫 か ら メ ン バ ー を 取 り 出 す と き に 、 元 の 日 付 を 保 存 す る

(original)。 こ の 修 正 子 を 指 定 し な け れ ば 、 書 庫 か ら 取 り 出 さ れ た フ ァ イ ル の タ イ ム ス タ ン プ は 取 り 出 し 時 の も の に な る 。

s オ ブ ジ ェ ク ト フ ァ イ ル の 索 引 を 書 庫 に 書 き 込 む か 、 ま た は 存 在 す る 索 引 を 更 新 す る 。 書 庫 に 何 の 変 化 が な く て も 更 新 は 行 わ れ る 。 こ の 修 正 子 は ど ん な 操 作 と も 同 時 に 用 い る こ と が で き る し 、 単 独 で も 用 い る こ と が で き る 。

ar s’ を 書 庫 に 対 し て 実 行 す る の は 、 ’ranlib’ と 等 価 で あ る 。

S 書 庫 の シ ン ボ ル テ ー ブ ル を 作 成 し な い 。 こ れ は 大 き な 書 庫 を 構 築 す る 場 合 は 結 構 な 速 度 向 上 に な る 。 結 果 と し て で き た 書 庫 は 、 リ ン カ か ら は 使 う こ と が で き な い 。 シ ン ボ ル テ ー ブ ル を つ く る に は 、 最 後 の 段 階 で 実 行 さ れ る

arS 修 正 子 を つ け な い か 、 あ る い は そ の ア ー カ イ ブ に ranlib を 実 行 し な け れ ば な ら な い 。

u 通 常

ar r... は リ ス ト さ れ た す べ て の フ ァ イ ル を 書 庫 に 挿 入 す る 。 指

定 し た フ ァ イ ル と 同 名 の メ ン バ ー が 書 庫 中 に す で に あ っ た 時 に 、 元 の メ ン バ ー の 方 が 古 い 場 合 に 限 っ て 挿 入 を 行 い た い 場 合 に は 、 こ の 修 正 子 を 使 う と 良 い (update)。 ’u’ 修 正 子 を 用 い る こ と が で き る の は r 操 作 (replace) の 場 合 に 限 ら れ る 。 qu の 組 み 合 わ せ は 許 さ れ な い 。 な ぜ な ら タ イ ム ス タ ン プ を チ ェ ッ ク す る と ’q’ 操 作 の 速 度 面 で の 利 点 が 損 な わ れ て し ま う か ら で あ る 。

v こ の 修 正 子 は 饒 舌

( verbose ) モ ー ド の 動 作 を 指 定 す る た め に 用 い ら

れ る 。 ’v’ 修 正 子 が 追 加 さ れ る と 、 多 く の 操 作 に お い て 、 よ り 詳 細 な 情 報 が 表 示 さ れ る (例 え ば 処 理 し て い る フ ァ イ ル 名 な ど )。

V こ の 修 正 子 は

ar の バ ー ジ ョ ン 番 号 を 表 示 す る 。

関 連 項 目

info の ’ binutils ’ エ ン ト リ 、 The GNU Binary Utilities, Roland H. Pesch (October 1991)、 nm(1)ranlib(1)

著 作 権

Copyright (c) 1991 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.