atexit
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <stdlib.h> で定義
|
||
int atexit( void (*func)(void) ); |
||
(exit() または main() から戻ることによって) プログラムが正常終了したときに呼ばれるように func の指す関数を登録します。 関数は登録されたのと逆順で呼ばれます。 つまり、最後に登録された関数が最初に呼ばれます。
同じ関数を2回以上登録しても構いません。
atexit はスレッドセーフです。 複数のスレッドから呼んでもデータ競合を発生しません。
処理系は少なくとも 32 個の関数の登録をサポートすることが保証されます。 正確な制限は処理系定義です。
引数
| func | - | プログラムの正常終了時に呼ばれる関数を指すポインタ |
戻り値
登録に成功した場合は 0、そうでなければ非ゼロの値。
例
Run this code
#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
puts("pushed first");
}
void f2(void)
{
puts("pushed second");
}
int main(void)
{
atexit(f1);
atexit(f2);
}
出力:
pushed second
pushed first
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.22.4.2 The atexit function (p: 350)
- C99 standard (ISO/IEC 9899:1999):
- 7.20.4.2 The atexit function (p: 315)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.10.4.2 The atexit function
関連項目
(C11) |
quick_exit が行われた時に呼ばれる関数を登録します (関数) |
atexit の C++リファレンス
| |