使用 GFortran 在同一个文件中编译模块和主程序?

Compile Module and Main Program In the Same File Using GFortran?

我是 fortran 的新手,我有这个 fortran90 程序,我正在尝试 运行 其中模块和主要模块位于同一个名为 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

然而,我对模块进行了更改并保存了它,但是以同样的方式编译和 运行ning 它提供了相同的输出,这让我认为该模块需要编译?如何在同一个文件中编译它们?我可以使模块成为一个单独的文件,但我想知道如何这样做!

selected_real_kind(p) returns 实数的类型参数,精度至少 p 位(如果存在)。它没有给出精确度如此精确的实数的种类参数。

如果您的编译器没有精度小于 q 的实数,那么 selected _real_kind(q)selected_real_kind(q-1) 将不会 return 不同类型的参数。