当前位置: 技术问答>linux和unix
特意测试了除0错误,signal捕获处理了SIGFPE,但是随后陷入死循环
来源: 互联网 发布时间:2017-04-18
本文导语: 本帖最后由 u011473808 于 2013-07-22 15:17:40 编辑 如题,我写了个很小的程序,来测试SIGFPE如何被捕获和处理: #include #include #include void f(int signo) { printf("signo=%dn",signo); } int main(int argc,char* argv[]) { signal(SIGFPE,f...
#include
#include
#include
void f(int signo)
{
printf("signo=%dn",signo);
}
int main(int argc,char* argv[])
{
signal(SIGFPE,f);
int div=argc/(argc-1);
return 0;
}
编译运行。发现程序不断的打印
signo=8
问题是,我预想这个程序只打印一次signo就应该退出啊。我的想法错在哪里?
|
这个解释不错
http://51hired.com/questions/14965/%E5%A6%82%E4%BD%95%E5%9C%A8SIGFPE%E5%90%8E%E7%BB%A7%E7%BB%AD%E8%BF%90%E8%A1%8C%EF%BC%9F
http://51hired.com/questions/14965/%E5%A6%82%E4%BD%95%E5%9C%A8SIGFPE%E5%90%8E%E7%BB%A7%E7%BB%AD%E8%BF%90%E8%A1%8C%EF%BC%9F
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。