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:: Устранение неполадок:: процесс:: выйденно