1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include <stdlib.h> static void (*__atexit_fvec[32])(void) = { NULL }; int atexit(void (*func)(void)) { for (int i = 0; i < 32; i++) { if (__atexit_fvec[i] == NULL) { __atexit_fvec[i] = func; __atexit_fvec[i + 1] = NULL; return 0; } } return -1; }