_cexit、_c_exit

执行清理操作并返回,不终止进程。

void _cexit( void );
void _c_exit( void );

备注

_cexit 函数调用,后进先出 (LIFO)顺序,函数由 atexit 和 _onexit注册。 然后 _cexit 刷新所有 I/O 缓冲区并在返回之前关闭所有打开流。 _c_exit 与 _exit 相同,但返回到调用进程时,不处理 atexit 或 _onexit 或者流刷新缓冲区。 下表中显示了exit,_exit, _cexit,和 _c_exit的行为。

功能

行为

exit

执行完整的 C 库停止程序,终止该进程,并以所提供的状态代码退出。

_exit

执行快速的 C 库停止程序,终止该进程,并以所提供的状态代码退出。

_cexit

执行完整的 C 库停止程序并返回调用方,但是不会终止进程。

_c_exit

执行快速的 C 库停止程序并返回调用方,但是不会终止进程。

当调用_cexit 或 _c_exit 的功能时,析构函数在调用时存在的任何临时或自动对象不会被调用。 一个自动对象在对象没有声明为静态函数被定义。 临时对象是由编译器创建的对象。 若要在调用 _cexit 或 _c_exit之前销毁一个自动对象,请显式调用该对象的析构函数,如下所示:

myObject.myClass::~myClass( );

要求

例程

必需的标头

_cexit

<process.h>

_c_exit

<process.h>

有关更多兼容性信息,请参见“简介”中的兼容性

.NET Framework 等效项

System::Diagnostics::Process 类

请参见

参考

进程和环境控制

abort

atexit

_exec、_wexec 函数

exit、_exit

_onexit、_onexit_m

_spawn、_wspawn 函数

system、_wsystem