COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

17.4.1 実行単位の終了方法

実行単位の終了方法には,次の三つがあります。

<この項の構成>
(1) STOP RUN文による終了
(2) GOBACK文による終了
(3) CBLENDサービスルーチンによる終了
(4) 注意事項

(1) STOP RUN文による終了

COBOLプログラムでSTOP RUN文を実行すると,COBOLの実行環境が終了します。

プログラムが終了すると,閉じられていないファイルが閉じられるとともに,実行時に確保した仮想メモリが解放され,プロセスが終了します。

STOP RUN文による終了の例を次に示します。

図17-1 STOP RUN文による終了の例

[図データ]

(2) GOBACK文による終了

実行単位内で最初に呼び出されたCOBOLプログラムでGOBACK文を実行すると,COBOLの実行環境が終了します。

プログラムが終了すると,閉じられていないファイルが閉じられるとともに,実行時に確保した仮想メモリが解放され,プロセスが終了します。

GOBACK文による終了の例を次に示します。

図17-2 GOBACK文による終了の例

[図データ]

(3) CBLENDサービスルーチンによる終了

COBOL副プログラムから他言語の主プログラムへ戻る場合,閉じられていないファイルのクローズ処理や,実行時に確保した仮想メモリの解放が実行されません。これらのCOBOL資源を解放するには,CBLENDサービスルーチンを呼び出す必要があります。

CBLENDサービスルーチンは,COBOLプログラムから呼び出すのではなく,他言語のプログラムから呼び出します。CプログラムからCBLENDサービスルーチンを呼び出す形式を,次に示します。

形式
#include <windows.h>
 
extern int WINAPI CBLEND(); /* CBLENDの外部参照宣言 */
 
CBLEND();                   /* CBLENDの呼び出し     */

CBLENDサービスルーチンの詳細は,「32.4.2 CBLEND」を参照してください。

(4) 注意事項