_onexit, _onexit_m

종료 시에 호출 되는 루틴을 등록 합니다.

_onexit_t _onexit(
   _onexit_t function
);
_onexit_t_m _onexit_m(
   _onexit_t_m function
);

매개 변수

  • function
    Exit를 호출 하는 함수에 대 한 포인터입니다.

반환 값

_onexit에 대 한 포인터를 함수에 전용 또는 NULL 함수 포인터를 저장할 공간이 없으면.

설명

_onexit 함수는 함수의 주소를 전달 됩니다 (function) 프로그램이 정상적으로 종료 되 면 호출 될 합니다.연속 된 호출을 _onexit 레지스터 LIFO (마지막에-선입 선출) 순서 대로 실행 되는 함수를 만듭니다.함수에 전달 된 _onexit 매개 변수를 사용할 수 없습니다.

경우에 때 _onexit 루틴으로 등록 하는 DLL 내에서 호출 되어 _onexit 의 실행할 때 DLL 언로드 후 DllMain DLL_PROCESS_DETACH에 호출 됩니다.

_onexitMicrosoft 확장이입니다.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:: 종료

참고 항목

참조

프로세스 및 환경 제어

atexit

exit, _exit

__dllonexit