易截截图软件、单文件、免安装、纯绿色、仅160KB

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 前 声明 SIGFPEhandler1

编译不能通过, SIGFPEhandler2 undeclared.

引用
函数缺少


相关问答:

c的字符串问题

fastshow()
{
FILE *fp;
char name[10];
char ch[512];
printf("请输入待显示的文件名\n");
scanf("%s",name);
if((fp=fopen(name,"r"))==NULL)
{
printf ......

C文件读写问题。

FILE *pFile;
errno_t m_err;
m_err = fopen_s(&pFile,"1.txt","r");
char ch[100];
memset(ch,0,100);
fread(ch,1,100,pFile);
MessageBox(ch);
fclose(pFil ......

C程序问题

有这样两个问题,希望高手指点:
第一:
struct struct_A{
int a;
char b;
int c;
short d;
}
  struct struct_B{
  int a;
  char b;
  short c;
  ......

ftp上传下载c文件方式

在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号