_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 类