当前位置: C语言 -- 标准库 -- <signal.h> -- SIG_DFL

SIG_DFL宏


概要:

#define SIG_DFL pointer //pointer由具体实现定义。


描述:

该宏会扩展为常量表达式,其类型与signal函数第二个参数和返回值的类型兼容,其值与任何可声明函数的地址都不相等。

如果宏SIG_DFL用作signal函数的第二个参数,将对指定信号进行默认处理。


GCC编译器<signal.h>头文件中,该宏定义如下:

typedef void (*__p_sig_fn_t)(int);

#define SIG_DFL ((__p_sig_fn_t) 0)


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
/*宏SIG_DFL范例*/

#include <signal.h>
#include <stdio.h>

int main(void)
{
    signal(SIGINT, SIG_DFL);
    raise(SIGINT);

    /*以下代码能否执行,取决于实现对SIGINT的默认处理。*/
    puts("The code after the raise function is usually not executed.");

    return 0;
}

输出:

没有输出


相关内容:
SIG_IGN 忽略信号宏。
SIG_ERR 发生错误宏。