18.6.3 動的なリンクのプレロード機能
実行単位内で最初に実行されるCOBOLプログラムの起動時に,動的なリンクで検索対象となる共用ライブラリをロードすることで,動的なリンクによるCALL文実行時の呼び出し先プログラムの検索を高速化できます。
- 〈この項の構成〉
(1) 環境変数
動的なリンクのプレロード機能を有効にするには,実行時環境変数CBLPRELOADに,プレロードする共用ライブラリ名称を記述したファイル(プレロードリストファイル)名を絶対パスで指定します。
- 形式
CBLPRELOAD=プレロードリストファイル名
- プレロードリストファイルの形式
-
-
プレロードする共用ライブラリ名称を記述します。アーカイブ形式の共用ライブラリ(アーカイブファイルのメンバ)をプレロードする場合は,「アーカイブファイル名称(メンバ名称)」の形式で指定します。
-
1行に一つの共用ライブラリ名称を記述します。複数行,記述できます。
-
空行は無視されます。
-
行の先頭がシャープ"#"(X'23')の行はコメント行とみなされます。
-
行の長さが4,096バイトを超えた場合,その行は無視されます。
-
プレロードリストファイルに記述した文字の扱いを次に示します。
文字
文字の扱い
半角空白および水平タブ文字
次の半角空白文字(X'20'),水平タブ文字(X'09')は無視されます。
-
行の先頭から共用ライブラリ名称の先頭まで
-
共用ライブラリ名称の終端から改行まで
シャープ"#"
行の先頭がシャープ"#"(X'23')の行はコメント行とみなされます。
上記以外の文字
共用ライブラリ名称の一部とみなされます。
-
-
- プレロードリストファイルの記述例
-
# プレロードする共用ライブラリ /tmp/test01.a # プレロードするアーカイブ形式の共用ライブラリ /tmp/archive.a(test02.a)
- 規則
-
-
プレロードする共用ライブラリは,実行単位内で最初に実行されるCOBOLプログラムの起動時にロードします。プレロード機能でロードした共用ライブラリはプロセス終了までアンロードされません。
-
プレロードする共用ライブラリ名称は,絶対パスで指定してください。
-
プレロード機能でロードした共用ライブラリ内のプログラムは,環境変数CBLLPATHやCBLLSLIBを指定しなくても動的なリンクによるCALL文で呼び出せます。
-
プレロードリストファイル名に誤りがある,アクセス権がないなどの理由でプレロードリストファイルが開けない場合,警告メッセージが出力されます。このとき,プレロード機能は有効となりません。
-
プレロードリストファイルに記述した共用ライブラリのロードに失敗した場合,警告メッセージが出力されて処理が続行されます。
-