Поделиться через


atexit

Обрабатывает указанную функцию на оставить.

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

Параметры

  • func
    Функция, вызываемая.

Возвращаемое значение

atexit возвращает 0 в случае успешного выполнения или ненулевое значение, если возникает ошибка.

Заметки

atexit функция передается функции (адресомfuncвызывается при завершении программы) в обычном режиме.Последовательные вызовы atexit создайте регистр функций которых выполните в первый-вне " (LIFO).Функции, передаваемые atexit не может принимать параметры.atexit и _onexit используйте кучу для хранения регистр функций.Таким образом, количество функций, которые можно зарегистрировать ограничено только объемом памяти в куче.

Код atexit функция не должна содержать любую зависимость на любом библиотека DLL, которая может быть уже выгружаются после atexit функция вызвана.

Чтобы создать приложение ANSI-совместимого, используйте ANSI-стандартное atexit функции (а не похоже _onexit функция).

Требования

Процедура

Обязательный заголовок

atexit

<stdlib.h>

Пример

Эта программа помещает 4 функции в стек функции для выполнения после atexit вызывает.Если выйти из программы, эти программы выполняются в последнем в качестве основы, первая ожидания.

// 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

System:: Устранение неполадок:: процесс:: выйденно

См. также

Ссылки

Процесс и управление среды

abort

exit, _exit

_onexit, _onexit_m