首页 > 解决方案 > IEEE_UNDERFLOW_FLAG 是否暂停了我的 fortran 代码?

问题描述

我的 fortran 代码在随机点暂停,我想知道它是否与标志 IEEE_UNDERFLOW_FLAG IEEE_DENORMAL 有关。我知道这些都不是非常糟糕的例外。我收到以下消息:

PAUSE 要恢复执行,请键入 go。其他输入将终止作业。注意:以下浮点异常发出信号: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL

如果它们实际上是原因,有没有办法告诉 gfortran 忽略这些异常?

标签: fortrangfortran

解决方案


这些异常不太可能暂停您的代码,尽管没有看到您的任何代码就无法判断。

您的代码更有可能包含pausestatement,并且编译器会利用暂停的机会告诉您IEEE_UNDERFLOW_FLAG并被IEEE_DENORMAL困住。

如果您仍想禁用这些异常,请查看 gfortran 的 调试选项ffpe-summary=控制打印哪些异常(在您的情况下可能发生),并ffpe-trap=控制哪些异常导致您的程序终止(在您的情况下可能不会发生)。


推荐阅读