我试图编译一个项目来解决一个球体上的 Navier-Stokes 问题: https ://fms.gfdl.noaa.gov/gf/
使用的默认编译器是 ifort,我想使用 gfortran,因为我想让它最终可供任何希望使用它的人使用。
在代码中的某些点,有类似的语句
if (x == y)
, 其中 x 和 y 都是包含整数、实数和指针的派生类型(称为 domain1d/2d)。gfortran 抱怨说比较是在非数字和退出之间。
然后我下载了 ifort 的试用版,它编译没有问题。
所以,我想知道这是否是对类型/结构的每个成员的实际比较的某种 ifort 速记(我对 C 术语更满意!)或者我是否缺少一些基本的东西,是 fortran 的新手?
我知道比较派生类型有时没有什么意义,但在这里它似乎只是检查两者是否携带相同的信息。
谢谢,乔伊