_cexit
, _c_exit
クリーンアップ操作を実行し、プロセスを終了せずに処理を戻します。
構文
void _cexit( void );
void _c_exit( void );
解説
_cexit
関数は、atexit
と _onexit
によって登録された関数を後入れ先出し (LIFO) 順に呼び出します。 次に _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( );
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
プロセスと環境の制御
abort
atexit
_exec
、_wexec
関数
exit
、 _Exit
、 _exit
_onexit
, _onexit_m
_spawn
、_wspawn
関数
system
, _wsystem