_onexit, _onexit_m
종료 시 호출 되는 루틴을 등록 합니다.
_onexit_t _onexit(
_onexit_t function
);
_onexit_t_m _onexit_m(
_onexit_t_m function
);
매개 변수
- function
종료할 때 호출 되는 함수에 대한 포인터입니다.
반환 값
_onexit 는 성공하거나 NULL 인 경우, 함수 포인터를 저장할 공간이 없는 경우, 함수에 대한 포인터를 반환합니다.
설명
프로그램이 정상적으로 종료될 때 함수 _onexit은 함수 function의 주소로써 전달됩니다. _onexit에 대한 연속적인 호출은 후입선출(LIFO) 순서대로 실행되는 함수 레지스터를 생성합니다. _onexit로 전달된 함수는 매개 변수를 사용할 수 없습니다.
_onexit 이 DLL 내에서 호출된 경우, _onexit 를 사용해 등록된 루틴은 DllMain 가 DLL_PROCESS_DETACH 를 사용하여 호출된 이후 DLL의 언로드를 실행합니다.
_onexit은 Microsoft 확장입니다. ANSI 이식성에 대해 atexit 를 사용하십시오. 이 함수의 _onexit_m 버전은 혼합된 모드 사용입니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_onexit |
<stdlib.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
// crt_onexit.c
#include <stdlib.h>
#include <stdio.h>
/* Prototypes */
int fn1(void), fn2(void), fn3(void), fn4 (void);
int main( void )
{
_onexit( fn1 );
_onexit( fn2 );
_onexit( fn3 );
_onexit( fn4 );
printf( "This is executed first.\n" );
}
int fn1()
{
printf( "next.\n" );
return 0;
}
int fn2()
{
printf( "executed " );
return 0;
}
int fn3()
{
printf( "is " );
return 0;
}
int fn4()
{
printf( "This " );
return 0;
}
Output
This is executed first.
This is executed next.
해당 .NET Framework 항목
System::Diagnostics::Process::Exited