C 標準ライブラリ - <setjmp.h>


はじめに

setjmp.h ヘッダー ファイルは、マクロ setjmp()、関数 longjmp()、および変数型 jmp_buf を定義しており、通常の関数呼び出しと戻りのルールをバイパスします。

ライブラリ変数

ヘッダー ファイル setjmp.h で定義されている変数を以下に示します:

シリアル番号変数と説明
1jmp_buf
保存に使用されるマクロ setjmp() と関数 longjmp() に関連する情報の配列型。

ライブラリマクロ

このライブラリで定義されているマクロは次のとおりです:

シリアル番号マクロと説明
1int setjmp(jmp_buf環境)
このマクロは、現在の環境 環境は、関数 longjmp() で後で使用できるように、変数 environment に保存されます。このマクロがマクロ呼び出しから直接戻った場合は 0 を返しますが、longjmp() 関数呼び出しから戻った場合は 0 以外の値を返します。

ライブラリ関数

ヘッダーファイルsetjmp.hで定義されている唯一の関数です:

シリアル番号関数と説明
1void longjmp(jmp_buf環境)整数、 value )
この関数は、setjmp() マクロが最後に呼び出されたときに保存された環境を復元します。jmp_buf パラメーターの設定は、前回の setjmp() の呼び出しによって生成されます。