set_terminate(CRT)
terminate 에게 호출되기 위해 종료 루틴을 설치합니다.
terminate_function set_terminate(
terminate_function termFunction
);
매개 변수
- termFunction
작성한 종료 함수 대한 포인터입니다.
반환 값
set_terminate 가 등록한 이전의 함수를 가르키는 포인터를 반환합니다. 그러므로 이전 함수는 이후에 복원될 수 있습니다. 만일 이전 함수가 설정되어지지 않았다면, 반환값은 기본 동작을 저장하기 위해 사용될 것입니다; 이 값은 NULL일 수 있습니다.
설명
set_terminate 함수는 terminate 에 호출되는 함수로서 termFunction 를 설치합니다. set_terminate 는 C++ 예외 처리와 함께 사용되며 예외가 throw 되기 전에 프로그램에서 어떠한 포인터에서도 호출될 수 있습니다. terminate는 abort를 기본적으로 호출합니다. 사용자는 자신만의 종료 함수를 작성하고 set_terminate를 사용자의 함수 이름과 매개변수로 호출함으로써 이 기본값을 변경할 수 있습니다. terminate 루틴은 set_terminate에 대한 인수로 주어진 마지막 함수를 항상 호출합니다. 필요한 정리 작업이 끝난 후, termFunction 는 프로그램을 끝냅니다. 종료 되지 않는 경우(호출자에게 반환 되는 경우) abort 가 호출됩니다.
다중 스레드 환경에서 종료 기능은 각 스레드에 대해 개별적으로 유지됩니다 각 새 스레드에 종료 기능을 설치 해야 합니다. 따라서 각 스레드는 종료 처리를 가집니다.
terminate_function 형식은 EH.H 에 void 을 반환하는 사용자 정의 종료 함수termFunction 로 정의되어 있습니다. 사용자 지정 함수 termFunction 는 인수를 사용할 수 있고 해당 호출자에게 반환 해서는 안 됩니다. 그런 경우, abort 가 호출됩니다. termFunction 내에서 예외는 throws 되지 않을 수도 있습니다.
typedef void ( *terminate_function )( );
참고
set_terminate 함수는 디버거 외부 에서만 작동 합니다.
이것은 동적 링크된 DLL 또는 EXE 에 대해 단일 set_terminate 처리기 입니다. set_terminate 를 호출하는 경우에도 처리기를 다른 것으로 교체 될수 있으며 또한 다른 DLL 또는 EXE 로 처리기 설정을 교체할 수도 있습니다.
이 함수는 /clr:pure 에서는 지원되지 않습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
set_terminate |
<eh.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
terminate 에 대한 예제를 참조하십시오.
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.