at_quick_exit
來自 cppreference.com
在標頭檔案 <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() 時被呼叫 (函式) | |
(C11) |
導致正常程式終止,但不完全清理 (函式) |
C++ 文件 關於 at_quick_exit
|