%>
执行清理操作并返回,而不终止进程。
语法
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( );
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
例程 | 必需的标头 |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
有关兼容性的详细信息,请参阅 兼容性。
另请参阅
进程和环境控制
abort
atexit
_exec
、_wexec
函数
.- .
%>
_spawn
、_wspawn
函数
%>