Performs cleanup operations and returns without terminating the process.
void _cexit( void ); void _c_exit( void );
_cexit function calls, in last-in, first-out (LIFO) order, the functions registered by
_cexit flushes all I/O buffers and closes all open streams before returning.
_c_exit is the same as
_exit but returns to the calling process without processing
_onexit or flushing stream buffers. The behavior of
_c_exit is shown in the following table.
||Performs complete C library termination procedures, terminates process, and exits with supplied status code.|
||Performs quick C library termination procedures, terminates process, and exits with supplied status code.|
||Performs complete C library termination procedures and returns to caller, but does not terminate process.|
||Performs quick C library termination procedures and returns to caller, but does not terminate process.|
When you call the
_c_exit functions, the destructors for any temporary or automatic objects that exist at the time of the call are not called. An automatic object is an object that is defined in a function where the object is not declared to be static. A temporary object is an object created by the compiler. To destroy an automatic object before calling
_c_exit, explicitly call the destructor for the object, as follows:
For more compatibility information, see Compatibility in the Introduction.