IEEE_UNDERFLOW_FLAG 是否暂停了我的 Fortran 代码?

Is the IEEE_UNDERFLOW_FLAG pausing my fortran code?

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

PAUSE To resume execution, type go. Other input will terminate the job. Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL

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

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

更有可能是你的代码中包含了pause statement,编译器趁机暂停告诉你IEEE_UNDERFLOW_FLAGIEEE_DENORMAL已经被困住了。

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