标题:一个关于signal函数的问题
只看楼主
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
结帖率:100%
 问题点数:0 回复次数:3 
一个关于signal函数的问题
按照书中的描述
#include <stdio.h>
#include <signal.h>

void ErrorHandle(void);

int main()
{
    int i=1;
    signal(SIGFPE,ErrorHandle);
    i/=0;
    return 0;
}

void ErrorHandle()
{
    puts("Error Handle");
}

应该会输出Error Handle为什么是运行错误。。
搜索更多相关主题的帖子: signal 函数 
2008-10-16 23:50
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
因为SIGFPE是floating point exception
而你制造的错误和浮点没关系...
2008-10-17 00:32
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
而且貌似SIGFPE应该由浮点硬件产生
如果编译的时候某些浮点库不使用浮点硬件而是软件计算浮点的话...
2008-10-17 00:47
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
要想测试signal的话,可以抓SIGTERM,然后写个死循环,运行起来后,到外面kill之

这种东西去Linux测试方便一点,因为windows里面的signal大概被封装了...
2008-10-17 11:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-238752-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.850740 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved