次の方法で共有


を使用して setjmp/longjmp

C++ プログラムで setjmplongjmp を使用しないでください ; これらの関数は C++ オブジェクトのセマンティクスをサポートしていません。またC++ でこれらの関数を使用してプログラムはローカル変数の最適化を防ぐことによってパフォーマンスが低下する可能性があります。C++ 例外処理 try ブロックと catch の構造を使用します。

C. ファイルをプログラムで setjmplongjmp を使用する必要がある場合これらの関数と C++ 例外処理との間の対話は SETJMP.H または SETJMPEX.H. を含む必要があります。ローカル オブジェクトのデストラクターはスタックでコンパイル中に /EH アンワインド呼び出されます。/EHs を指定してコンパイルした場合関数の 1 つが nothrow を使用するとnothrow の呼び出し longjmp を使用して関数を呼び出すとデストラクターがオプティマイザーによって発生する可能性があるアンワインドする。

[非ローカルの呼び出しを使用して実行時に移植性になるようにコードを longjmp にはフレーム ベースのオブジェクトの正しいともに依存しないでください。

参照

関連項目

混合の C (構造化)と C++ 例外