[C언어 소스] abort 함수 사용 예제 코드
//C언어 표준 라이브러리 함수 사용법 가이드
//SIGABRT 시그널을 발생하는 함수
//SIGABRT 시그널 핸들러를 등록하고 프로그램 방식으로 SIGARBT 시그널 발생
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
void MySigHandler(int signo);
void Test();
int main(void)
{
_set_abort_behavior( 0, _WRITE_ABORT_MSG);//abort 함수 호출하였을 때 오류 창 뜨지 않게 설정
signal(SIGABRT,MySigHandler);//SIGABRT 시그널 핸들러 등록
Test();//테스트
return 0;
}
void MySigHandler(int signo)
{
printf("%d signal 발생\n",signo);
if(signo == SIGABRT)//발생한 시그널이 SIGABRT일 때
{
signal(SIGABRT,SIG_DFL);//SIGABRT 시그널 핸들러를 디폴트로 설정
}
}
void Test()
{
printf("Test 1\n");//테스트 용
abort();//SIGABRT 발생 raise(SIGABRT); 와 같음
printf("Test 2\n");//테스트 용
abort();//SIGABRT 발생 raise(SIGABRT); 와 같음
printf("Test 2\n");//테스트 용
}
출력
Test 1
22 signal 발생
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] exit 함수 사용 예제 코드 (0) | 2016.05.05 |
---|---|
[C언어 소스] atexit 함수 사용 예제 코드 (종료 핸들러 등록) (0) | 2016.05.05 |
[C언어 소스] realloc 함수 사용 예제 코드 (0) | 2016.05.04 |
[C언어 소스] malloc 함수 사용 예제 코드 (0) | 2016.05.04 |
[C언어 소스] free 함수 사용 예제 코드 (0) | 2016.05.04 |