sigfpe相关内容

为什么 SIGFPE 用于整数算术异常?

为什么 SIGFPE 用于整数算术异常,例如被零除,而不是为整数算术异常创建单独的信号,或者通常首先为算术异常命名信号?> 解决方案 IEEE Std 1003.1 标准将 SIGFPE 定义为: 错误的算术运算. 并没有真正提到浮点运算.这背后的推理没有明确说明,但这是我的看法. x86 FPU 可以使用 FIDIV 等指令同时对整数和浮点数据进行运算,因此不清楚将浮点数据 ..
发布时间:2021-06-18 20:18:55 服务器开发

如何生成始终触发信号 SIGFPE(div by zero) 的代码?

我需要编写一个单元测试,它应该总是触发除以零信号 (SIGFPE),这样我就可以测试和比较有/没有我的信号捕获模块会发生什么. 我的 Linux 信号捕获/恢复模块已经开发完成,并按预期工作.当我为模块编写单元测试时,我遇到了一个小麻烦. 这些是 UT 代码(通过 GTest): int do_div_by_0() {int j = 0;返回 123/j;/* 在发布构建期间,这个 ..
发布时间:2021-06-12 20:53:24 C/C++开发

我可以忽略除以零所产生的SIGFPE吗?

我有一个程序故意将其除以零(并将结果存储在volatile变量中),以便在某些情况下停止运行.但是,我希望能够禁用此暂停功能,而无需更改执行除以零的宏. 有什么办法可以忽略它? 我尝试使用 #include ... int main(void) { signal(SIGFPE, SIG_IGN); ... } ,但是它仍然死于消息“浮点异常(内核 ..
发布时间:2020-05-29 18:45:24 其他开发

浮点异常核心转储

我是Linux信号的新手,请帮忙. 在Linux 2.6 gcc中运行时,以下代码会获取核心转储. $ ./a.out 浮点异常(核心已转储) 问题: 1.由于已安装过程信号屏蔽,是否不应阻塞第40行volatile int z = x/y;生成的"SIGFPGE"? 2.如果未阻塞,则因为已经安装了信号处理程序,信号处理程序是否应该捕获"SIGFPE"而不是内核转储? 3.如 ..
发布时间:2020-05-01 10:12:09 服务器开发

SIGFPE信号问题

我对Linux的新手信号,请大家帮忙。 在Linux中GCC 2.6运行时,以下code获得核心转储。 $ ./a.out结果 浮点异常(核心转储) 该问题:结果 1.由于在安装过程信号掩码,不应该由线40(Z = X / Y)中产生的“SIGFPGE”受阻?结果 2.如果不堵塞,因为信号处理程序已经安装,应该不是“SIGFPE”由信号处理程序捕获的,而不是一个核心转储?结果 3.如 ..
发布时间:2016-08-22 16:44:03 服务器开发

漂浮在'点异常(SIGFPE)INT的main(){回报(0); }“

我想建立一个简单的C程序两种不同的Linux环境。在一个设备中的程序运行良好,其他的设备上的程序生成一个浮点异常。该方案不只是从主回0,这使我相信有一些不兼容的初创code也许ABI? 该计划是用gcc编译具有以下规格建造: 使用内置的规格。目标:I386-红帽Linux的配置有: ../configure - preFIX =的/ usr --mandir =的/ usr / shar ..
发布时间:2016-08-18 21:58:13 服务器开发