_cexit、_c_exit
後処理を実行し、プロセスを終了せずに処理を戻します。
void _cexit( void );
void _c_exit( void );
解説
_cexit 関数は、atexit と _onexit によって登録された関数を後入れ先出し (LIFO: last-in, first-out) 順で呼び出します。 _cexit はすべての I/O バッファーをフラッシュし、開いているストリームをすべて戻る前に閉じます。 _c_exit の動作は、atexit または _onexit をプロセスしたりストリーム バッファーをフラッシュしないまま、呼び出し元プロセスに戻る点以外は、_exit と同じです。 次の表に、exit、_exit、_cexit、および _c_exit の各関数の動作を示します。
機能 |
Behavior |
---|---|
exit |
C ライブラリの終了プロシージャを完全に実行してプロセスを終了し、指定されたステータス コードで終了します。 |
_exit |
C ライブラリの高速終了プロシージャを実行してプロセスの終了し、指定されたステータス コードで終了します。 |
_cexit |
C ライブラリの終了プロシージャを完全に実行し、呼び出し元に処理を戻しますが、プロセスは終了しません。 |
_c_exit |
C ライブラリの高速終了プロシージャを実行し、呼び出し元に処理を戻しますが、プロセスは終了しません。 |
_cexit 関数または _c_exit 関数を呼び出すとき、呼び出し時に存在した一時オブジェクトまたは自動オブジェクトのデストラクターは呼び出されません。 自動オブジェクトとは、定義されている関数内で静的オブジェクトとして宣言されていないオブジェクトのことです。 一時オブジェクトは、コンパイラによって作成されたオブジェクトです。 _cexit 関数または _c_exit 関数を呼び出す前に自動オブジェクトを破棄するには、次のようにオブジェクトのデストラクターを明示的に呼び出します。
myObject.myClass::~myClass( );
必要条件
ルーチン |
必須ヘッダー |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
同等の .NET Framework 関数
System::Diagnostics::Process::CloseMainWindow