使用 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 不同类型的参数。
我是 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 不同类型的参数。