### 12-2　コマンドラインによる引数の指定方法

>     LIB86K［option］ oldlibrary［commands］［,［listfile］［,［newlibrary］］］［;］

#### optionフィールド

optionフィールドに指定できるオプションは／？のみです。

#### oldlibraryフィールド

処理対象となるライブラリファイルを指定します。このフィールドを省略することはできません。ライブラリファイルの拡張子が“.LIB”の場合には省略することができます。しかし、ユーザーのライブラリファイル拡張子が“.LIB”以外の場合には、拡張子を省略することはできません。このライブラリファイルにはデフォルトは存在しないため指定されなかった場合には、エラーメッセージを出力します。また、存在しないファイル名を指定した場合には次のプロンプトを表示します。

>     Library file does not exist. Create? (y/n)

新規ライブラリを作成する場合は、Yを入力します。Y以外を入力すると処理を中断してOSに戻ります。

既存のライブラリファイルにセミコロンを付けただけのものを入力すると、ライブラリの整合性のチェックが行われます。整合性のチェックとは、ライブラリ中のすべてのモジュールが使用できるかどうかのチェックです。もし、エラーが存在する場合には、エラーメッセージを表示されます。

#### commandsフィールド

commandsには、＋，−，−＋，＊，−＊のようなコマンド記号があり、これらを入力してプログラムの動作指示を行うことができます。指定できるオブジェクトファイル名やモジュール名は、コマンド1つにつき1つ指定して複数の操作を行うことができます。コマンドを省略するとライブラリファイルに対して変更を行いません。

#### listfileフィールド

listfileには、ライブラリ中のパブリックシンボルリスト、外部参照シンボルリスト、モジュール名リストを出力するファイルを指定します。省略した場合は、標準出力にデータを表示します。

#### newlibraryフィールド

newlibraryには、出力対象となるライブラリ名を指定します。指定のない場合、処理以前のoldlibraryの拡張子を“.BAK”に変更し、oldlibraryをnewlibraryとしてデータを保存します。

#### 12-2-1　オプション指定

／ ？オプションを指定するとヘルプメッセージが画面に表示されます。

#### 12-2-2　コマンドライン実行例

#### 例1

>     LIB86K HOME-+ROM;

この例では、HOMEというライブラリよりROMというモジュールを削除して、ライブラリの最後にオブジェクトファイル“ROM.OBJ”を追加します。

#### 例2

>     LIB86K HOME-ROM+ROM;
>     LIB86K HOME+ROM-ROM;

例1の場合は、HOMEというライブラリよりROMというモジュールを削除してから“ROM.OBJ”というオブジェクトファイルを追加します。しかし、例2の場合は、HOMEに“ROM.OBJ”を追加してからROMモジュールを削除します。したがって、上段の場合ライブラリ内にROMモジュールが残りますが、下段の場合ライブラリ内には残りません。これは、コマンド記号が指定された順序で処理を行っているからです。

#### 例3

>     LIB86K HOME,LCROSS.PUB

“HOME.LIB”の整合性のチェックを行った後、“LCROSS.PUB”という名前のクロスリファレンスファイルを生成します。

#### 例4

>     LIB86K FIRST -*STUFF*MORE,,SECOND

モジュールSTUFFをライブラリ“FIRST.LIB”から“STUFF.OBJ”というファイルに書き出し、モジュールSTUFFをライブラリより削除します。モジュールMOREは、ライブラリから“MORE.OBJ”に書き出され、ライブラリ内に残ります。書き換えられたライブラリは、“SECOND.LIB”となり“FIRST.LIB”よりSTUFFモジュールだけが削除されたライブラリとなります。

[←] | [INDEX] | [→]