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

📄 exit.c

📁 SimpleGraphicOperatingSystem 32位图形化操作系统 多进程 支持FAT32 详见www.sgos.net.cn
💻 C
字号:
#include <osdef.h>
#include <stdio.h>

#define MAX_EXITFUNCTIONS 32
static void (__cdecl *ExitFunctionList[MAX_EXITFUNCTIONS] )( void );
static int FunCount=0;


EXPORT void* _onexit(
    void (__cdecl *func )( void )
){
    dprintf("_onexit 0x%X\n", func );
    if( func && FunCount<MAX_EXITFUNCTIONS){
        ExitFunctionList[FunCount++]=func;
        return func;
    }
    return NULL;
};

EXPORT void* _onexit_m(
  void (__cdecl *func )( void )
){
    _onexit( func );
};


EXPORT int atexit(
  void (__cdecl *func )( void )
){
    if( _onexit( func ) )
        return 0;
    return -1;
}

EXPORT void _c_exit()
{
    FunCount=0;
}

EXPORT void _cexit()
{
    dprintf("_cexit()\n");
    while( FunCount>0 )
        ExitFunctionList[--FunCount]();
}

EXPORT void _exit()
{
    dprintf("_exit()\n");
    ExitProcess(13);
}

EXPORT void exit()
{
    dprintf("exit()\n");
    _cexit();
    ExitProcess(13);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -