COBOL2002 使用の手引 手引編


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文で呼び出せます。

  • プレロードリストファイル名に誤りがある,アクセス権がないなどの理由でプレロードリストファイルが開けない場合,警告メッセージが出力されます。このとき,プレロード機能は有効となりません。

  • プレロードリストファイルに記述した共用ライブラリのロードに失敗した場合,警告メッセージが出力されて処理が続行されます。