atexit

Verarbeitet die angegebene Funktion auf der Beenden.

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

Parameter

  • func
    Wird Funktion werden soll.

Rückgabewert

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

Hinweise

Der atexit-Funktion wird die Adresse einer Funktion aufgerufen werden sollfunc() übergeben, wenn das Programm gewöhnlich beendet wird.Aufeinander folgende Aufrufe von atexit erstellen ein Register von Funktionen, die ausgeführt werden in Last In, First Out (LIFO) - Reihenfolge.Die Funktionen, die atexit übergebenen Parameter können nicht verwendet werden.atexit und _onexit verwenden den Heap, um das Registrieren von Funktionen aufzunehmen.Auf diese Weise wird die Anzahl der Funktionen, die registriert werden kann, nur durch Heapspeicher beschränkt.

Der Code in der atexit-Funktion darf keine Abhängigkeit von einem DLLs enthalten, die bereits entladen worden sein könnte, wenn die atexit-Funktion aufgerufen wird.

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

Anforderungen

Routine

Erforderlicher Header

atexit

<stdlib.h>

Beispiel

Dieses Programm gibt vier Funktionen auf den Stapel von den Funktionen, die ausgeführt werden soll, wenn atexit aufgerufen wird.Wenn das Programm wird beendet, diese Programme auf einem letzte in 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::Diagnose::Prozess::Beendet

Siehe auch

Referenz

Prozess- und Umgebungssteuerelement

Abbruch

Beenden, _exit

_onexit, _onexit_m