读书人

APUE+macro,该怎么解决

发布时间: 2012-12-29 10:28:09 作者: rapoo

APUE+macro
小弟在APUE上面看到一个macro的声明如下
#define SIG_ERR (void(*)())-1
#define SIG_DFL (void(*)())0
#define SIG_IGN (void(*)())1
各位看官,能不能解释下这种macro吗?
[解决办法]
强制类型转换为一个函数指针
[解决办法]

引用:
引用:

那个数字有什么好解释的,区分而已
看前面宏的名字

后面不加数字可以不?


不加数字就没有意义了。
信号处理函数是一个地址,这几个数也是一个地址。系统保证你的处理函数的地址不会是0,-1,1,因此就可以区分各种情况了,是错误,默认,忽略,还是处理

读书人网 >UNIXLINUX

热点推荐