C언어/C언어 예제

[C언어 소스] abort 함수 사용 예제 코드

언제나휴일 2016. 5. 5. 11:56
반응형

[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 발생


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형