DLL 可能オブジェクト・モジュールを別個の DLL ロード・モジュールにリンクするか、またはそれらを静的にリンクすることができます。リンク時に、アプリケーションを 1 つのモジュールとしてパッケージするか、いくつかの DLL モジュールとしてパッケージするかを決定することができます。
DLL アプリケーションをリンクする場合は、z/OS バインダーの DLL サポートをお勧めします。 バインダーは COBOL コンパイラーからの出力を直接受け取ることができ、このため、プリリンク・ステップは必要ありません。 ただし、DLL を PDS ロード・ライブラリーに常駐させる必要がある場合は、標準のリンケージ編集の前に、言語環境プログラムのプリリンカーを使用する必要があります。
バインダー・ベースの DLL は、PDS ではなく、PDSE または HFS ファイルに常駐させなければなりません。
バインダーを使用して DLL アプリケーションをリンクする場合は、次のオプションを使用します。
| コードのタイプ | リンクに使用するバインダー・パラメーター |
|---|---|
| DLL アプリケーション | DYNAM(DLL)、RENT |
| 大/小文字混合のエクスポート済みプログラム名を使用するアプリケーション クラス定義または INVOKE ステートメント |
CASE(MIXED) |
SYSDEFSD DD ステートメントを指定して、バインダーが DLL 定義サイド・ファイルを作成するデータ・セットを指示してください。 このサイド・ファイルには、DLL によってエクスポートされた各記号についての IMPORT 制御ステートメントが入っています。バインダー SYSLIN 入力 (DLL コードを参照するバインディング・コード) には、リンクされるモジュールから参照される DLL のための DLL 定義サイド・ファイルを含めなければなりません。
DLL リンケージに使用させたくないプログラムがモジュールに含まれている場合には、定義サイド・ファイルを編集してそれらのプログラムを除去することができます。
例: プロシージャー型 DLL アプリケーションのサンプル JCL
関連参照
MVS プログラム管理: ユーザーズ・ガイドおよび解説書 (DLL のためのバインダー
・サポート)