:: reverse dictionary ::
※ソースファイルについて
プログラム終了時に関数を呼び出すには、atexit 関数を使います。
#include <stdio.h> #include <stdlib.h> void funca(void); void funcb(void); void funcc(void);
int main(void) { atexit(funca); atexit(funcb); atexit(funcc); printf("main 終了\n"); return EXIT_SUCCESS; } void funca(void) { printf("funca 呼び出し\n"); } void funcb(void) { printf("funcb 呼び出し\n"); } void funcc(void) { printf("funcc 呼び出し\n"); }
次のような出力になります。
main 終了 funcc 呼び出し funcb 呼び出し funca 呼び出し
int atexit(void(__cdecl *f)(void))
プログラム終了時に呼び出す関数を登録します。
関数の登録に成功した場合に 0 、失敗した場合に 0 以外の値を返します。
登録した関数は、登録順序の逆順(LIFO:後入れ先出し)で呼び出されます。 ヒープメモリの容量が許す限り、いくつでも関数を登録できます。
なお、引数を持つ関数は登録できません。
(関数名のみで登録できますが、値が渡されないので予期しない結果になる可能性があります)
f … 呼び出す関数
関数の登録に成功 … 0
関数の登録に失敗 … 0 以外
Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com