setjmp/longjump
setjmpex.h または setjmp.h をインクルードすると、setjmp または longjmp への呼び出しはすべて、デストラクターを呼び出してから最後に呼び出しを行うアンワインドになります。 これは、setjmp.h をインクルードしても句とデストラクターを呼び出さない x86 の場合と異なります。
setjmp を呼び出すと、現在のスタック ポインター、不揮発性レジスタ、および MxCsr レジスタが保持されます。 longjmp を呼び出すと、直前の setjmp 呼び出しサイトに戻されます。また、スタック ポインター、不揮発性レジスタ、および MxCsr レジスタが、直前の setjmp 呼び出しによって保持された状態に戻されます。