名前空間
変種
操作

quick_exit

From cppreference.com
< c‎ | program
ヘッダー <stdlib.h> で定義
_Noreturn void quick_exit( int exit_code );
(C11 以降)
(C23まで)
[[noreturn]] void quick_exit( int exit_code );
(C23以降)

リソースを完全にクリーンアップすることなく、プログラムの正常終了を引き起こします。

at_quick_exit に渡された関数は、登録された順序の逆順に呼び出されます。登録された関数を呼び出した後、_Exit(exit_code) が呼び出されます。

atexit に渡された関数や、signal に渡されたシグナルハンドラは呼び出されません。

目次

[編集] パラメータ

exit_code - プログラムの終了ステータス

[編集] 戻り値

(なし)

[編集]

#include <stdlib.h>
#include <stdio.h>
 
void f1(void)
{
    puts("pushed first");
    fflush(stdout);
}
 
void f2(void)
{
    puts("pushed second");
}
 
void f3(void)
{
    puts("won't be called");
}
 
int main(void)
{
    at_quick_exit(f1);
    at_quick_exit(f2);
    atexit(f3);
    quick_exit(0);
}

出力

pushed second
pushed first

[編集] 参考文献

  • C17標準 (ISO/IEC 9899:2018)
  • 7.22.4.7 The quick_exit function (p: 257)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.22.4.7 The quick_exit function (p: 353)

[編集] 関連項目

(クリーンアップせずに)異常なプログラム終了を引き起こす
(関数) [編集]
exit() の呼び出し時に呼ばれる関数を登録する
(関数) [編集]
quick_exit 呼び出し時に実行される関数を登録します。
(関数) [編集]
C++ ドキュメント ( quick_exit )
English 日本語 中文(简体) 中文(繁體)