を使用して setjmp/longjmp
C++ プログラムで setjmp と longjmp を使用しないでください ; これらの関数は C++ オブジェクトのセマンティクスをサポートしていません。またC++ でこれらの関数を使用してプログラムはローカル変数の最適化を防ぐことによってパフォーマンスが低下する可能性があります。C++ 例外処理 try ブロックと catch の構造を使用します。
C. ファイルをプログラムで setjmp と longjmp を使用する必要がある場合これらの関数と C++ 例外処理との間の対話は SETJMP.H または SETJMPEX.H. を含む必要があります。ローカル オブジェクトのデストラクターはスタックでコンパイル中に /EH アンワインド呼び出されます。/EHs を指定してコンパイルした場合関数の 1 つが nothrow を使用するとnothrow の呼び出し longjmp を使用して関数を呼び出すとデストラクターがオプティマイザーによって発生する可能性があるアンワインドする。
[非ローカルの呼び出しを使用して実行時に移植性になるようにコードを longjmp にはフレーム ベースのオブジェクトの正しいともに依存しないでください。