exit, _exit, _Exit - C++ Builder

2020-06-29  本文已影响0人  玄坴

C++ Builder 参考手册<cstdlib>exit, _exit, _Exit


头文件:#include <cstdlib>
命名空间:std
函数原型:

void exit(int status);
void _exit(int status);
void _Exit(int status);

参数:

status:给操作系统或父进程的返回值:
0:正常结束,非0:异常结束。

返回值:

无。

要注意 _Exit 和 _exit 首字母大小写不同,它们是不同的函数,这几个函数的具体区别如下:

这些函数的 status 参数可以是 (不限于) 以下表格的常数:

常数 说明
EXIT_SUCCESS 0 程序正常结束
EXIT_FAILURE 1 程序异常结束

以下表格为程序测试结果:

退出时执行的函数 执行 std::abort 执行 std::exit
使用 std::atexit 添加的函数 [ ] [√]
使用 Sysutils::AddExitProc 添加的函数 [ ] [√]
使用 Sysutils::AddTerminateProc 添加的函数 [ ] [ ]
使用 #pragma exit 添加的函数 [ ] [√]
当前函数局部变量的析构函数 [ ] [ ]
主窗口析构函数 [ ] [√]
全局变量析构函数 [ ] [√]

例子:

void _USERENTRY Func1(void)
{
    ShowMessage(L"正在执行函数 Func1");
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    std::atexit(Func1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    std::exit(EXIT_SUCCESS);
}

运行结果:

点击 Button1 按钮,弹出 std::atexit 添加的函数打开的提示信息对话框:“正在执行函数 Func1”,关闭这个对话框,程序退出。

运行结果

相关:


C++ Builder 参考手册<cstdlib>exit, _exit, _Exit

上一篇 下一篇

猜你喜欢

热点阅读