使用众所周知的DCMPLX内在函数,gfortran -g -std=f2008 -Wall -Wextra -O2返回Warning: The intrinsic 'dcmplx' at (1) is not included in the selected standard but a GNU Fortran extension and 'dcmplx' will be treated as if declared EXTERNAL. Use an appropriate -std=* option or define -fall-intrinsics to allow this intrinsic。有没有现代的交叉编译器来处理双精度复数?

最佳答案

您可以使用:

CMPLX(X, Y, kind=REAL64)


要使用REAL64,您需要导入模块ISO_FORTRAN_ENV

这在Fortran 2008标准(草案)的13.7.36部分中定义。

08-18 06:59