Click to Rate and Give Feedback
MSDN
MSDN Library
Visual Studio 2008
Visual Studio
Visual C++
Run-Time Library
 atexit
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
Run-Time Library Reference
atexit

Processes the specified function at exit.

int atexit(
   void (__cdecl *func )( void )
);
func

Function to be called.

atexit returns 0 if successful, or a nonzero value if an error occurs.

The atexit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to atexit create a register of functions that are executed in last-in, first-out (LIFO) order. The functions passed to atexit cannot take parameters. atexit and _onexit use the heap to hold the register of functions. Thus, the number of functions that can be registered is limited only by heap memory.

The code in the atexit function should not contain any dependency on any DLL which could have already been unloaded when the atexit function is called.

To generate an ANSI-compliant application, use the ANSI-standard atexit function (rather than the similar _onexit function).

Routine

Required header

atexit

<stdlib.h>

This program pushes four functions onto the stack of functions to be executed when atexit is called. When the program exits, these programs are executed on a last in, first out basis.

// crt_atexit.c
#include <stdlib.h>
#include <stdio.h>

void fn1( void ), fn2( void ), fn3( void ), fn4( void );

int main( void )
{
   atexit( fn1 );
   atexit( fn2 );
   atexit( fn3 );
   atexit( fn4 );
   printf( "This is executed first.\n" );
}

void fn1()
{
   printf( "next.\n" );
}

void fn2()
{
   printf( "executed " );
}

void fn3()
{
   printf( "is " );
}

void fn4()
{
   printf( "This " );
}
This is executed first.
This is executed next.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker