📄 exit.c
字号:
/*****************************************************************************/
/* EXIT.C v3.10 */
/* Copyright (c) 1995-1998 Texas Instruments Incorporated */
/*****************************************************************************/
//#include <stdlib.h>
#define MAX_FUN 32
static int at_exit_count = 0;
static void (*at_exit_fun[MAX_FUN])();
void (*_cleanup_ptr)(void) = 0; //NULL;
/****************************************************************************/
/* ABORT - ABNORMAL PROGRAM TERMINATION. CURRENTLY JUST HALTS EXECUTION. */
/****************************************************************************/
void abort(void)
{
/*-------------------------------------------------------------------*/
/* SET C$$EXIT LABEL SO THE DEBUGGER KNOWS WHEN THE C++ PROGRAM HAS */
/* COMPLETED. THIS CAN BE REMOVED IF THE DEBUGGER IS NOT USED. */
/*-------------------------------------------------------------------*/
asm(" .global C$$EXIT");
asm("C$$EXIT: nop");
for (;;); /* SPINS FOREVER */
}
/****************************************************************************/
/* EXIT() - NORMAL PROGRAM TERMINATION. */
/****************************************************************************/
void exit(int status)
{
register int i = at_exit_count;
/*-------------------------------------------------------------------*/
/* HANDLE FUNCTIONS REGISTERED THROUGH atexit(). */
/*-------------------------------------------------------------------*/
while (i) (*at_exit_fun[--i])();
/*-------------------------------------------------------------------*/
/* IF FILES ARE POSSIBLY OPEN, _CLEANUP_PTR() WILL BE SETUP TO CLOSE */
/* THEM. */
/*-------------------------------------------------------------------*/
if (_cleanup_ptr) (*_cleanup_ptr)();
abort();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -