这是我用gfortran 4.8.5
编译fortran 77文件的方法gfortran -Wall -O0 -c -g -fbacktrace -ffpe-trap=invalid,denormal,zero,overflow,underflow ${tool}.f ${ncdf_incs}
然后我运行它,我得到这个浮点异常
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
Backtrace for this error:
#0 0x7F9AC3077E08
#1 0x7F9AC3076F90
#2 0x7F9AC29BE4AF
#3 0x404894 in psiappsor at inv_cart.f:1221
#4 0x40F7E8 in MAIN__ at inv_cart.f:159
Floating exception (core dumped)
我无法分辨它是什么类型的FPE。用pgf77 / pgf90编译的同一个文件能让我知道它是一个除零FPE。我该怎么做才能获得代码与gfortran一起抛出的FPE类型?
更新 我用gfortran 5.4尝试了这个,我也遇到了同样的问题。它没有告诉你它是什么类型的FPE。