c signal调用问题
开始学OS,按练习要求写的代码在gcc下无法编译:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
void SIGFPEhandler2(int sig1) {
printf("1");
signal(SIGFPE, SIGFPEhandler1);
exit(EXIT_SUCCESS);
}
void SIGFPEhandler1(int sig2) {
signal(SIGFPE, SIGFPEhandler2);
printf("2");
exit(EXIT_SUCCESS);
}
int DBZ(int i) {
return i/0;
}
int main(void) {
(void) signal(SIGFPE, SIGFPEhandler1);
DBZ(5);
return EXIT_SUCCESS;
}
目的让signal handler调用另一个 handler,都是处理同样的signal。编译提示SIGFPEhandler1 undeclare.
是我实现的方法不对还是handler不能调用处理同样signal的handler? 望大家指正。
在linux下吗?
windows下, 用的Cygwin.
在SIGFPEhandler2 前 声明 SIGFPEhandler1
函数缺少前置声明
加
void SIGFPEhandler1(int sig2);
void SIGFPEhandler2(int sig1);
在文件头后
编译不能通过, SIGFPEhandler2 undeclared.
相关问答:
一个数如果好等于它的因子之和,这个数就成为"完数",例如6的因子为1,2,3而6=1+2+3,而6=1+2+3,因此6是“完数".编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3
......
c/s 和b/s 的区别是什么,c/s需要服务器吗,怎么判断程序是c/s 还是b/s
C/S是服务器和客户端 B/S是服务器和浏览器
他们都有s,什么是s?就是server
那他们的区别是什么?一个是c,即client,一个 ......
struct s1 {
char ch, *ptr;
union {
short a, b;
unsigned int c:2, d:1;
}
struct s1 *next;
};
主要看不懂符号 :
请达人指点一二
http://blog.cechina.cn/true ......