我正在尝试使用 GDB 进行调试,并且在尝试比较两个值时遇到算术错误。
第一个值在模块顶部设置为双精度,参数,public :: Dint = -1.D99
第二个值恰好是被调用子例程中的 inta = 102。
比较发生在子程序中,如 If (Inta /= int(Dint)) then
我尝试通过键入 p Dint 来查看 Dint 的值,但它说它不在当前上下文中。我怀疑它可能已被优化,或者可能需要某种语法才能在模块顶部查看变量。
我还怀疑尝试将此双精度转换为整数时可能存在问题,但我认为它在其他情况下也有效。
任何见解都可能会有所帮助。