COBOL2002 使用の手引 手引編

[目次][用語][索引][前へ][次へ]

18.6.3 動的なリンクのプレロード機能(AIX(32),AIX(64),Linux(x86),Linux(x64)で有効)

実行単位内で最初に実行されるCOBOLプログラムの起動時に,動的なリンクで検索対象となる共用ライブラリをロードすることで,動的なリンクによるCALL文実行時の呼び出し先プログラムの検索を高速化できます。

<この項の構成>
(1) 環境変数

(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文で呼び出せます。
  • プレロードリストファイル名に誤りがある,アクセス権がないなどの理由でプレロードリストファイルが開けない場合,警告メッセージが出力されます。このとき,プレロード機能は有効となりません。
  • プレロードリストファイルに記述した共用ライブラリのロードに失敗した場合,警告メッセージが出力されて処理が続行されます。