linux signal函数详解

signal函数详解

《转载请注明出处》
typedef的使用(为已有的类型增加一个别名)
  1.typedef int INT;
  2.typedef char CHAR[20]; ==CHAR是字符数组类型
   CHAR C1; ==> char C1[20];
  3.typedef int (*func)(char,char); == func是函数指针类型(返回值为 int, 参数为两个 char)
  func f1; == 定义一个函数指针: int (*f1)(char,char)
################################################
signal函数详解
linux signal函数详解
写法一:
typedef void (*sighandler_t)(int);
  sighandler_t signal(int signum, sighandler_t handler);
  返回值: sighandler_t类型的函数指针
  形参: int, sighandler_t类型函数指针
   void (signal(int signum, sighandler_t handler))(int);
  ==> void (signal(int signum, void (handler)(int)))(int);
写法二:
void ( signal( int sig, void ( handler)( int )))( int );
  // 这儿看不出返回值类型, 进行简化
  typedef void (sighandler_t)(int) // sighandler_t是void()(int)类型的函
  数指针的别名
  void ( signal( int sig, void ( handler)( int )))( int );
  // 定义一个名为signal( int sig, void (
handler)( int )))的void(
)(int)类
型函数指针
 ==> sighandler_t signal( int sig, void (
handler)( int )))
 ==> sighandler_t signal( int sig, sighandler_t handler)
==> 返回值: sighandler_t类型的函数指针
  形参: int, sighandler_t类型函数指针
####################################
使用范例:

 使用例子1:
    int sig_int(int sig) {printf("sig_int");}
    signal(SIGINT, sig_int);
  使用例子2:
    signal(SIGINT, SIG_IGN);	// 忽略SIGINT信号
    signal(SIGINT, SIG_DFL);	// 对于SIGINT信号,使用默认处理函数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值