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

SIG_IGN宏


概要:

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


描述:

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

如果宏SIG_IGN用作signal函数的第二个参数,信号将被忽略。


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

typedef void (*__p_sig_fn_t)(int);

#define SIG_IGN ((__p_sig_fn_t) 1)


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

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

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

    /*以下代码会被执行。*/
    puts("The code after the raise function will be executed.");

    return 0;
}

输出:

The code after the raise function will be executed.


相关内容:
SIG_DFL 默认处理宏。
SIG_ERR 发生错误宏。