Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


C/C++ プログラムでの COBOL DLL の使用

DLL の COBOL サポートは、COBOL EXTERNAL データを除いて、z/OS C/C++ 製品の DLL サポートと相互協調で処理します。 特に、COBOL アプリケーションは、C/C++ DLL からエクスポートされた関数を呼び出すことができ、C/C++ アプリケーションは、COBOL DLL からエクスポートされた COBOL プログラムを呼び出すことができます。

EXTERNAL 属性で 宣言された COBOL データ項目は、DLL サポートとは無関係です。これらのデータ項目は、プログラムが DLL 内にあるかどうかに関係なく、それらを宣言する実行単位内の任意の COBOL プログラムから名前によって アクセスすることができます。

COBOL オプション DLLRENT、および EXPORTALL は、C/C++ DLLRENT、および EXPORTALL オプションとほとんど同じように機能します。 (DLL オプションは C にしか適用されません。) ただし、C/C++ コンパイラーは、デフォルトでは、DLL 対応コードを生成します。

C/C++ DLL 関数ポインターを COBOL に渡し、C/C++ 関数ポインターを 関数ポインター・データ項目として受け取り、それを COBOL 内で使用することができます。次の例は、サービスへの関数ポインターを戻す C 関数への COBOL 呼び出しと、そのサービスへの COBOL 呼び出しを示しています。

Identification Division.
Program-id. Demo.
Data Division.
Working-Storage section.
01  fp usage function-pointer.
Procedure Division.
    Call "c-function" returning fp.
    Call fp.

関連参照
DLL  
EXPORTALL  
RENT  
EXTERNAL 節 (Enterprise COBOL 言語解説書)


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)