LINUX中signal函数的理解
2012-02-02 21:50
393 查看
LINUX中信号函数定义的比较复杂,原来总结的,现在修改一下贴出来。
void (*signal (int signo, void (*func)(int))) (int);
可 以改写成void (*XXXX) (int);XXXX为一个函数指针,那么这个函数指针是从哪儿来的呢。他是通过*signal (int signo, void (*func)(int))这个函数返回的,在C语言中void *func()返回一个void指针,{注意:void(*func)()由于括号优先级高,所以FUNC是指向的一个函数的指针,而且认为这里的这个*应该不是原先理解的意思,应该只是指明这是外面函数的一个函数指针,而返回的才是一个真正的函数指针2008-7-25} ,而这个返回的函数指针从哪里来得到呢。从函数来看,只能从void (*func)(int)来得到。这样,就好理解了,*signal (int signo, void (*func)(int))这个函数返回了一个指向void (*func)(int)函数的指针,即func的指针。下面我们再理解用typedef void (*sighandler_t)(int)定义就好理解了。
可以将其改写成:
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
注意这个蓝色部分:由于void (*signal (int signo, void (*func)(int))) (int)中最后的(int)已经由sighandler_t handler中的handler默认带有。
版权所有:http://fpcfjf.blog.163.com/blog/static/554697932011116113736142/
void (*signal (int signo, void (*func)(int))) (int);
可 以改写成void (*XXXX) (int);XXXX为一个函数指针,那么这个函数指针是从哪儿来的呢。他是通过*signal (int signo, void (*func)(int))这个函数返回的,在C语言中void *func()返回一个void指针,{注意:void(*func)()由于括号优先级高,所以FUNC是指向的一个函数的指针,而且认为这里的这个*应该不是原先理解的意思,应该只是指明这是外面函数的一个函数指针,而返回的才是一个真正的函数指针2008-7-25} ,而这个返回的函数指针从哪里来得到呢。从函数来看,只能从void (*func)(int)来得到。这样,就好理解了,*signal (int signo, void (*func)(int))这个函数返回了一个指向void (*func)(int)函数的指针,即func的指针。下面我们再理解用typedef void (*sighandler_t)(int)定义就好理解了。
可以将其改写成:
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
注意这个蓝色部分:由于void (*signal (int signo, void (*func)(int))) (int)中最后的(int)已经由sighandler_t handler中的handler默认带有。
版权所有:http://fpcfjf.blog.163.com/blog/static/554697932011116113736142/
相关文章推荐
- Linux signal函数理解
- 对linux中signal()函数的理解
- linux中mmap函数的理解
- Linux下的C语言编程——进程间通过signal函数通信简单操作
- 理解UNIX系统的signal函数的定义
- linux的signal()函数详解
- 进程函数一步步理解Linux之信号
- Linux进程理解与实践(三)进程终止函数和exec函数族的使用
- linux编程下signal()函数
- 进程函数一步步理解Linux进程(2)--进程编程
- 对于linux下system()函数的深度理解(转载)
- [linux]signal函数不起作用
- 对信号注册函数signal的理解1
- Linux编程signal函数使用
- 对于linux下system()函数的深度理解(整理)
- 对于linux下system()函数的深度理解(整理)
- linux编程下signal()函数
- linux编程下signal()函数
- 深入理解Linux网络技术内幕——协议处理函数
- linux下signal函数