COBOL2002 ユーザーズガイド
COBOLプログラムでは,以下の呼び出し規約のプログラムを作成できます。
呼び出し規約を指定することによって,Cなどの他言語で作成したプログラムからCOBOLプログラムを呼び出したり,COBOLプログラムから他言語のプログラムを呼び出せます。
32bit版PC(x86) COBOL2002の場合,呼び出し規約は,呼び出すプログラムで,環境部のEXTERNAL-PROGRAM SECTIONのCALL-CONVENTION段落に指定します。呼び出し規約の指定方法については,マニュアル「COBOL2002 言語 拡張仕様編 26.2.1 プログラム間連絡機能の環境部」を参照してください。
cdecl呼び出し規約は,Cプログラムのcdecl呼び出し規約のインタフェースを持つプログラムを呼び出すときに使用します。DLLでないプログラムは,すべてcdecl呼び出し規約となります。
cdecl呼び出し規約のプログラムを呼ぶ場合は,呼び出すCOBOLプログラムのCALL-CONVENTION段落で,呼び出し先プログラムとCDECLを関連づけます。なお,CALL-CONVENTION段落の指定がない場合は,CDECLが仮定されます。
stdcall呼び出し規約は,Cプログラムのstdcall呼び出し規約と同じインタフェースを持つプログラムを呼び出すときに使用します。
stdcall呼び出し規約のプログラムを呼ぶ場合は,呼び出すCOBOLプログラムのCALL-CONVENTION段落で,呼び出し先プログラムとSTDCALLを関連づけます。
CALL-CONVENTION段落の指定がない場合でも,-StdCallオプションを指定すると,呼び出すプログラムの呼び出し規約をstdcallにできます。詳細は,「37. 実行可能ファイルとDLLの作成」を参照してください。
fastcall呼び出し規約は,Cプログラムのfastcall呼び出し規約と同じインタフェースを持つプログラムを呼び出すときに使用します。
64bit版PC(x64) COBOL2002では,fastcall呼び出し規約のプログラムだけ作成できます。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.