COBOL データ型には、C/C++ で対応するデータ型があるものと、そうでないものがあります。 COBOL プログラムと C/C++ の関数間でデータを受け渡す場合は、データ交換を適切なデータ型のみで行うようにしてください。
デフォルトでは、COBOL は、引数を BY REFERENCE で受け渡します。引数を BY REFERENCE で受け渡す場合は、C/C++ はその引数を指すポインターを取得します。引数を BY VALUE で受け渡す場合は、COBOL は実引数を渡します。 BY VALUE は、次のデータ型にしか使用できません。
C/C++ では、パラメーター・リストの変数面を管理する va_start、va_arg、および va_end マクロを使用して、可変個数のパラメーターでプログラムを呼び出すことができます。 ただし、呼び出し先プログラムがパラメーター・リストの終了を判断する方法について理解しておく必要があります。例えば、パラメーター・リストの終了を示す NULL ポインターを検索するプログラムもあります。 COBOL では、パラメーター・リストを NULL ポインターで終了しませんが、最後の引数として BY VALUE 0 を渡すことで、NULL ポインターを提供することができます。
関連タスク
データの共用