下面是自我检测的区域,查看题目,自我回答,感觉自己掌握了就可以打勾
- C的标准库有个信号处理函数,这个信号是指能够打断程序运行的信号,比如ctrl + c,非法访问寄存器,等非正常的程序终止这三类,那么程序员如何判断这个信号是哪一类,并且根据不同类做出相应的处理呢!这个函数叫什么,是什么头文件里面的?
#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
/* signal(参数一,参数二)的用法: 1:参数一:检测到的信号类型 { SIGABRT = 程序异常终止; SIGINT = 用户手用关闭程序(ctrl + c) SIGSEGV = 非法访问存储器 } 2:参数二:中断信号的处理方式 注意: 1:信号处理函数signal()必须放在在程序开始,其作用类似于中断向量表! 2:参数二也可以自己编写信号处理函数,但是一般以默认为主! 3:当中断信号产生时,signum宏被自动为该信号的类型! 4:注意参数二传递的是函数地址 */
void SIGNAL_Func(signum)
{
printf("检测中断信号%d",signum);
exit(1);
}
void SIGNAL()
{
signal(SIGINT, SIGNAL_Func);
while (1)
{
printf("循环!\n");
}
}