Freigeben über


atexit

Verarbeitet die angegebene Funktion angezeigt der Beendigung.

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

Parameter

  • func
    Wird werden Funktion.

Rückgabewert

atexit gibt 0 zurück, wenn erfolgreich oder einen Wert ungleich 0 (null), wenn ein Fehler auftritt.

Hinweise

Der atexit die Adresse einer Funktion wird aufgerufen werden Funktion (func) übergeben, normalerweise, wenn das Programm beendet wird. Aufeinander folgende Aufrufe atexit erstellen ein Register von Funktionen, die in Reihenfolge Last in, First out (LIFO) ausgeführt werden. Die Funktionen, die an atexit übergeben werden, können keine Parameter enthalten. atexit und _onexit verwenden, um den Heap das Register von Funktionen aufzunehmen. Somit wird die Anzahl von Funktionen, die so registriert werden, können nur durch Heapspeicher beschränkt.

Der Code in der Funktion atexit sollte keine Abhängigkeit einer DLL enthalten, die bereits entladen worden sein könnte, wenn die atexit-Funktion aufgerufen wird.

Um eine ANSI-kompatible Anwendung zu generieren, verwenden Sie die atexit ANSI-Standard Funktion (anstatt die _onexit ähnliche Funktion).

Anforderungen

Routine

Erforderlicher Header

atexit

<stdlib.h>

Beispiel

Dieses Programm drückt vier Funktionen auf dem Stapel von den ausgeführten Funktionen, wenn atexit aufgerufen wird. Wenn das Programm wird, diese Programmen auf einem Letzten ausgeführt werden, 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 " );
}
  

.NET Framework-Entsprechung

System::Diagnostics::Process::Exited

Siehe auch

Referenz

Prozess- und Umgebungssteuerung

abort

exit, _exit

_onexit, _onexit_m