APUE+macro,该怎么解决
APUE+macro小弟在APUE上面看到一个macro的声明如下#define SIG_ERR(void(*)())-1#define SIG_DFL(void(*)(
APUE+macro
小弟在APUE上面看到一个macro的声明如下
#define SIG_ERR (void(*)())-1
#define SIG_DFL (void(*)())0
#define SIG_IGN (void(*)())1
各位看官,能不能解释下这种macro吗?
[解决办法]
强制类型转换为一个函数指针
[解决办法]
不加数字就没有意义了。
信号处理函数是一个地址,这几个数也是一个地址。系统保证你的处理函数的地址不会是0,-1,1,因此就可以区分各种情况了,是错误,默认,忽略,还是处理