⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atexit.c

📁 T-kernel 的extension源代码
💻 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 + -