我是fortran的新手,我有这个fortran90程序,我正在尝试在模块和main位于同一文件main.f90中的位置运行:
module real_precision
implicit none
integer, parameter :: sp = selected_real_kind(1)
integer, parameter :: dp = selected_real_kind(15)
end module real_precision
program main_program
use real_precision
implicit none
real(sp) :: a = 1.0_sp
real(dp) :: b = 1.0_dp
print *, a
print *, b
end program main_program
我一次编译它:
gfortran main.f90 -o main.x
然后运行它:
./main.x
但是我对模块进行了更改并保存了,但是以相同的方式编译和运行它提供了相同的输出,这使我认为需要编译模块?如何编译它们在同一文件中的两个位置?我可以将模块设为单独的文件,但我想知道如何用这种方式!
答案 0 :(得分:2)
selected_real_kind(p)
返回精度至少为 p
位(如果存在)的实数的种类参数。它没有给出具有精确度的实数的实参。
如果编译器的实数精度不低于q
,则selected _real_kind(q)
和selected_real_kind(q-1)
将不会返回不同种类的参数。