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.
相关问答:
C/C++ code:
#include <stdio.h>
typedef struct node{
int *key;
int length;
}node;
void insert(node &temp,int n)
{
int i,j;
for(i=0;i<=temp.length;i++)
{
......
问题描述:
有一简单的C程序,如下:
void foo ( ) {
int i ;
p r i n t f ( "%d " , i ++);
}
int main ( ){ int j ;
for ( j = 0 ; j < 1 0 ; ++j ) foo ( ) ;
}
函 ......
GCC是免费的吗?那有?
LINUX系统怎么装?
中文怎么设置?
你装完Linux系统就会自带GCC,windows下也有GCC,比如dev-c++,CODE::Blocks
linux系统安装根据不同的linux版本网上都有教程,看下就 ......
各位大侠,小弟有一个问题请教,如下
这个 #define stack_push 是一个函数,调用是这样的
int len;
stack_t *stack;
const char *curpos;
int seglen;
const char *next_slash;
int i;
......
下面这个程序是让算出 密码 , 第一个出来是passworD,第二个是xyz+ 任何一个字符
后面的3个我就看不明白了,大侠们帮我看看, 从 87 行 - 110行, 是3个密码,谢谢
1 #include ......