名稱空間
變體
操作

at_quick_exit

來自 cppreference.com
< c‎ | program
在標頭檔案 <stdlib.h> 中定義
int at_quick_exit( void (*func)(void) );
(C11 起)

註冊由 func 指向的函式,以便在程式快速終止(透過 quick_exit)時呼叫。

從多個執行緒呼叫此函式不會導致資料競爭。實現保證至少支援註冊 32 個函式。確切的限制由實現定義。

正常程式終止時,不會呼叫已註冊的函式。如果在這種情況下需要呼叫函式,則必須使用 atexit

目錄

[編輯] 引數

func - 指向在程式快速終止時要呼叫的函式的指標

[編輯] 返回值

0 如果註冊成功,否則為非零值。

[編輯] 示例

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

輸出

pushed second
pushed first

[編輯] 參考資料

  • C17 標準 (ISO/IEC 9899:2018)
  • 7.22.4.3 at_quick_exit 函式 (p: 255)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.22.4.3 at_quick_exit 函式 (p: 351)

[編輯] 另請參閱

導致程式異常終止(不進行清理)
(函式) [編輯]
導致程式正常終止並進行清理
(函式) [編輯]
註冊一個函式,以便在呼叫 exit() 時被呼叫
(函式) [編輯]
導致正常程式終止,但不完全清理
(函式) [編輯]
C++ 文件 關於 at_quick_exit