Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


CALLINTERFACE

CALLINTERFACE 指示では、CALL ステートメントのインターフェース規則を指定します。 指定された規則は、コンパイル単位で別の CALLINTERFACE が指定されるまで有効です。

フォーマット
構文図を読む構文図をスキップする>>-+->>CALLINTERFACE-+--+---------+--+--------------+----------><
   '->>CALLINT-------'  +-SYSTEM--+  +-DESC---------+  
                        +-OPTLINK-+  +-DESCRIPTOR---+  
                        '-CDECL---'  +-NODESC-------+  
                                     '-NODESCRIPTOR-'  
 
SYSTEM
呼び出しインターフェースの規則が、プラットフォームの標準のシステム・リンケージ規則であることを指定します。これは、Windows ベースのシステム API で使用されるリンケージ規則です。
OPTLINK
呼び出しインターフェースの規則が、SYSTEM 規則より高速な代替を提供する OPTLINK であることを指定します。 OPTLINK は、既存の IBM C 関数と C++ 関数および COBOL プログラムと PL/I プログラムで 使用されるリンケージ規則です。
CDECL
呼び出しインターフェースの規則が CDECL であることを 指定します。 CDECL は、Microsoft® Visual C++ for Windows 関数とのインターフェースをとるために使用されるリンケージ規則です。CDECL は、Microsoft C 関数と C++ 関数でのデフォルトの規則です。
DESC、DESCRIPTOR
CALL ステートメントの各引数に、引数の記述子を渡すことを指定します。
NODESC、NODESCRIPTOR
CALL ステートメントの各引数に、引数の記述子を渡さないことを指定します。NODESC/NODESCRIPTOR はデフォルトです。

>>CALLINTERFACE は手続き部でのみ指定します。

CALLINTERFACE 指示に対する CALL ステートメントの位置は、COPY ステートメントおよび REPLACE ステートメントの処理の後と認識されます。例えば、COPY テキスト内の CALL ステートメントおよび CALLINTERFACE 指示は、CALLINTERFACE 指示に対して示される 規則によって処理されます。

構文および一般規則

指示とコンパイラー・オプションの違い

CALLINTERFACE 指示または CALLINT コンパイラー・オプションのいずれかによって、使用する呼び出し規則を指定できます。1 つのコンパイル単位内で CALL ステートメントに対して複数の呼び出し規則を使用したい場合は指示を使用します。コンパイル単位全体に同じ呼び出し規則を使用する場合は、コンパイラー・オプションを使用します。

サブオプションの優先順位

CALLINTERFACE 指示 (サブオプションを指定) および CALLINT コンパイラー・ オプションの両方を指定すると、指示によって、コンパイル単位 内の指示に従うステートメントに対するコンパイラー・オプションの指定がオーバーライドされます。

CALLINTERFACE 指示にサブオプションを指定しないと、CALLINT コンパイラー・オプションの指定が有効となります。

DESC/NODESC サブオプションのみを指定すると、有効な呼び出し規則は、CALLINT コンパイラー・オプションに指定された規則となります。(CALLINTERFACE 指示に対するオプションは、DESC/NODESC のみです。これらは、CALLINT コンパイラー・オプションでは使用不可です。) 例えば、CALLINT コンパイラー・オプションが CALLINT SYSTEM に設定されている場合、以下の指示を指定します。

(Section A)
...
>>CALLINTERFACE OPTLINK
(Section B)
...
>>CALLINTERFACE DESC
(Section C)

以下の指定が有効です。


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

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