__cxa_atexit
extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
return __cxa_atexit((void (*)(void*))func, NULL, NULL);