宏定义SIG_DFL及SIG_IGN

来源

#define SIG_DFL ((void (*) (int))  0)   *语句A*
#define SIG_IGN ((void (*) (int))  1)
#define SIG_ERR ((void (*) (int)) -1)
linux的信号signal函数:
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);

解析

  • signal函数中的信号处理函数handler,可以是用户指定的一个信号处理函数,也可以是内核特定的函数指针SIG_DFLSIG_IGN
  • 若信号句柄是SIG_DFLSIG_IGN,则分别表示对捕获的信号采取忽略操作或者默认操作。
  • 信号句柄SIG_DFLSIG_IGN也必须是无返回值且具有一个整型参数的函数指针。
  • void(*)(int)代表一个无返回值的且具有一个整型参数的函数指针类型(这里是一个空函数)
  • 因此,语句A表示将“0”强制类型转换为无返回值且具有一个整型参数的函数指针。

    参考文献

    http://www.cnblogs.com/liulipeng/p/3555395.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值