我正在学习APUE 10.3信号,只是混淆了SIG_ERR
,SIG_DFL
和SIG_IGN
的定义。这里的定义是:APUE 10.3信号:指针投射问题。
#define SIG_ERR (void (*)())-1
#define SIG_DFL (void (*)())0
#define SIG_IGN (void (*)())1
这里是信号函数原型:
void (*signal(int signo, void (*func)(int)))(int)
当我们调用signal(signo, SIG_DFL)
,为什么会存在,因为第二个参数没有函数失配问题,应该是void (*)(int))
,然而,是什么我们提供的SIG_DFL
是(void (*)())
,void (*)(int))
和(void (*)())
的类型?
感谢所有球员的帮助。请让我知道它的证据吗?我的意思是我能够学习它的书籍,文档或规格? – kevin
我添加了规格 – FreeSalad