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