当前位置:  技术问答>linux和unix

这是个什么函数?

    来源: 互联网  发布时间:2017-05-01

    本文导语:  signal声明是 void(*signal(int signum, void (*handler)(int))) (int) 这是什么函数, 怎么是这中形式的?大神帮忙解答下 跪谢 | 在Unix/Linux中signal函数是比较复杂的一个,其定义原型如下: void (*signal(int...

signal声明是 void(*signal(int signum, void (*handler)(int))) (int)
这是什么函数, 怎么是这中形式的?大神帮忙解答下 跪谢

|
在Unix/Linux中signal函数是比较复杂的一个,其定义原型如下:
void (*signal(int signo,void (*func)(int))) (int)
这个函数中,最外层的函数体
void (* XXX )(int)表明是一个指针,指向一个函数XXX的指针,XXX所代表的函数需要一个int型的参数,返回void
signal(int signo, void(*func)(int))是signal函数的主体.
需要两个参数int型的signo以及一个指向函数的函数.
void (*func)(int).
正是由于其复杂性,在[Plauger 1992]用typedef来对其进行简化
typedef void Sigfuc(int);//这里可以看成一个返回值 .
再对signal函数进行简化就是这样的了
Sigfunc *signal(int,Sigfuc *);

|

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,