如果没有选项,我无法编译这个简单的程序
-fno-range-check
:
program big_int
use ISO_FORTRAN_ENV
integer(kind=int64) :: my_int
print *, huge(my_int)
my_int = 9223372036854775807
print *, my_int
end program big_int
命令
gfortran my_pgm.f90
引发此错误:
错误:对于 (1) 处的同类来说,整数太大。可以使用选项“-fno-range-check”禁用此检查
gfortran -fno-range-check my_pgm.f90
编译完美。但是,我对使用这个选项有点无聊。
还有其他选择可以使用吗? (gfortran 版本:GNU Fortran (GCC) 13.2.1 20240316)
感谢您的回答。
在 Fortran 中,对于非默认类型的文字,必须在其类型后添加下划线。
9223372036854775807
是 int64 文字,不适合默认整数类型。您必须在其后附加“_int64”。
program big_int
use ISO_FORTRAN_ENV
integer(kind=int64) :: my_int
print *, huge(my_int)
my_int = 9223372036854775807_int64
print *, my_int
end program big_int