73得票2回答
在“int main() { return(0); }”中出现浮点异常(SIGFPE)

我正在尝试为两个不同的Linux环境构建一个简单的C程序。在一台设备上,程序可以正常运行;而在另一台设备上,程序会生成浮点异常。该程序仅从主函数返回0,这使我相信可能存在一些与启动代码(可能是ABI)不兼容的问题。 使用gcc编译程序时,采用了以下构建规格: 使用内置规格。目标:i3...

17得票3回答
除以零不会引发SIGFPE错误。

我有一个小程序执行浮点数除以零操作,因此我期望出现 SIGFPE 信号。#include <sys/types.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #incl...

10得票2回答
浮点异常核心转储

我是 Linux 信号的新手,请帮忙。 当在 Linux 2.6 gcc 上运行以下代码时会出现核心转储: $ ./a.out Floating point exception (core dumped) 问题如下: 1. 由于进程信号掩码已安装,volatile int z = x/y...

9得票1回答
C++/CLI:SIGFPE,_control87,_fpreset,将古老的非托管Watcom C应用程序移植到.NET

我有一个几千行的应用程序,依赖于SIGFPE(由传递给signal()的函数指针处理)在特定浮点条件发生时更改状态并使代码正确运行。但是,在托管模式下的C++/CLI中,_control87生成System.ArithmeticException,在使用C编写的静态库中执行。_fpreset和...

8得票1回答
为什么在整数算术异常中要使用SIGFPE?

为什么将SIGFPE用于整数算术异常,如除以零,而不是创建专门的信号来处理整数算术异常或在首次命名信号时为算术异常一般命名?

7得票4回答
C/C++中的SIGFPE处理程序是什么?

嗯,我已经搜索了关于SIGFPE的文章,然后写了一些测试,但它的行为很奇怪。因此,我不得不在这里发布以寻求帮助。GCC/G++或ISO C++是否清楚地定义了除以零会发生什么? 1)我搜索了以下文章: Division by zero does not throw SIGFPE, 它似乎会输...