_cexit
, _c_exit
クリーンアップ操作を実行し、プロセスを終了せずに処理を戻します。
構文
void _cexit( void );
void _c_exit( void );
解説
_cexit
関数は、atexit
と _onexit
によって登録された関数を後入れ先出し (LIFO) 順に呼び出します。 次に _cexit
はすべての I/O バッファーをフラッシュし、開いているすべてのストリームを閉じてから戻ります。 _c_exit
の動作は、atexit
や _onexit
を処理またはストリーム バッファーをフラッシュすることなく、呼び出し元プロセスに戻る点を除いて、_exit
と同じです。 の_exit
_cexit
_c_exit
動作を次のexit
表に示します。
機能 | 動作 |
---|---|
exit |
完全な C ライブラリの終了処理を実行してプロセスを終了し、指定されたステータス コードで終了します。 |
_exit |
高速な C ライブラリの終了処理を実行してプロセスを終了し、指定されたステータス コードで終了します。 |
_cexit |
完全な C ライブラリ終了プロシージャを実行し、呼び出し元に戻りますが、プロセスは終了しません。 |
_c_exit |
クイック C ライブラリ終了プロシージャを実行し、呼び出し元に戻りますが、プロセスは終了しません。 |
関数_c_exit
を_cexit
呼び出すと、呼び出し時に存在する一時オブジェクトまたは自動オブジェクトのデストラクターは呼び出されません。 自動オブジェクトは、オブジェクトが静的であると宣言されていない関数で定義されているオブジェクトです。 一時オブジェクトはコンパイラによって作成されるオブジェクトです。 _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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示