📄 atexit.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel / Standard Extension * * Copyright (C) 2006 by Ken Sakamura. All rights reserved. * T-Kernel / Standard Extension is distributed * under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * * Version: 1.00.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* * atexit.c (libtkse) */#include <basic.h>#include <tk/typedef.h>#include <sys/libs.h>LOCAL void atexit_exec( void );IMPORT FP __atexit_entry; /* exit.c */#ifndef _LL_MISC#define _LL_MISC 8#endif#define NENT 32#define TSD_ATE_RTN_M1 (-1)LOCAL void (*exit_func[NENT])(void);LOCAL void atexit_exec( void ){ W i; for ( i = NENT - 1; i >= 0 ; --i ) { if ( exit_func[i] != NULL ) { (*exit_func[i])(); } }}EXPORT int atexit( void (*func)(void) ){ W i; (void)_lib_lock(_LL_MISC, TRUE); for ( i = 0; i < NENT; ++i ) { if ( exit_func[i] == NULL ) { exit_func[i] = func; __atexit_entry = atexit_exec; break; } } _lib_unlock(_LL_MISC); return ( i < NENT )? 0: TSD_ATE_RTN_M1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -