atexit
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   在标头  <stdlib.h> 定义
  | 
||
|   int atexit( void (*func)(void) );  | 
||
注册 func 所指向的函数,使它在程序正常终止(通过 exit() 或从 main() 返回)时得到调用。将以注册顺序的逆序调用这些函数,即首先执行最后调用的函数。
可以注册同一函数多于一次。
atexit 是线程安全的:多个线程调用此函数不会引入数据竞争。
标准保证至少支持注册 32 个函数。准确极限是实现定义的。
参数
| func | - | 指向要在程序正常终止时调用的函数的指针 | 
返回值
若注册成功则为 0 ,否则为非零值。
示例
运行此代码
输出:
pushed second pushed first
引用
- C11 标准(ISO/IEC 9899:2011):
 
- 7.22.4.2 The atexit function (第 350 页)
 
- C99 标准(ISO/IEC 9899:1999):
 
- 7.20.4.2 The atexit function (第 315 页)
 
- C89/C90 标准(ISO/IEC 9899:1990):
 
- 4.10.4.2 The atexit function
 
参阅
|    (C11)  | 
   注册要在调用 quick_exit 时调用的函数  (函数)  |