现在的位置: 首页 > 面试题 > 正文

C 标准库 – signal.h

2021年12月25日 面试题 ⁄ 共 603字 ⁄ 字号 暂无评论
博客主机

简介

signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。

 

库变量

下面是头文件 signal.h 中定义的变量类型:

 

序号 变量 & 描述

1 sig_atomic_t

这是 int 类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该对象可以作为一个原子实体访问,即使存在异步信号时,该对象可以作为一个原子实体访问。

库宏

下面是头文件 signal.h 中定义的宏,这些宏将在下列两个函数中使用。SIG_ 宏与 signal 函数一起使用来定义信号的功能。

 

序号 宏 & 描述

1 SIG_DFL

默认的信号处理程序。

2 SIG_ERR

表示一个信号错误。

3 SIG_IGN

忽视信号。

SIG 宏用于表示以下各种条件的信号码:

 

序号 宏 & 描述

1 SIGABRT

程序异常终止。

2 SIGFPE

算术运算出错,如除数为 0 或溢出。

3 SIGILL

非法函数映象,如非法指令。

4 SIGINT

中断信号,如 ctrl-C。

5 SIGSEGV

非法访问存储器,如访问不存在的内存单元。

6 SIGTERM

发送给本程序的终止请求信号。

库函数

下面是头文件 signal.h 中定义的函数:

 

序号 函数 & 描述

1 void (*signal(int sig, void (*func)(int)))(int)

该函数设置一个函数来处理信号,即信号处理程序。

2 int raise(int sig)

该函数会促使生成信号 sig。sig 参数与 SIG 宏兼容。

Wopus问答

Wopus问答

给我留言

留言无头像?


×