gfortran 包含带有子程序的目录
gfortran include directory with subroutines
我编写了一些 Fortran 子程序。我将子例程保存在名为 subroutines
的桌面文件夹中。当我编译一个 Fortran 程序时,比如 main.f90
(位于与 subroutines
不同的文件夹中),它使用文件夹 [=10] 的子例程(例如 sub1.f90
、sub2.f90
) =],我需要将每个子程序复制到main.f90
的文件夹中,然后像这样编译:
gfortran -o main main.f90 sub1.f90 sub2.f90
根据需要输出可执行文件。
我的问题是:gfortran 中是否有任何编译器选项可以包含 subroutine
文件夹中的文件 而无需 将每个子例程复制到 [=11] 的文件夹中=]?
我试过这两个选项:
gfortran -L/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90
gfortran -I/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90
这两个编译器选项 return 错误:gfortran: No such file or directory
我的 PC 中唯一可用的 fortran 编译器是 gfortran(没有 ifort)。
您可以简单地输入子程序文件的完整路径。所以你会增加你的编译为
gfortran -o main main.f90 subroutines/sub1.f90 subroutines/sub2.f90
或者执行此调用的一种聪明方法是使用扩展
gfortran -o main main.f90 subroutines/{sub1,sub2}.f90
其中大括号将扩展为与我显示的第一个并发症相同。
我编写了一些 Fortran 子程序。我将子例程保存在名为 subroutines
的桌面文件夹中。当我编译一个 Fortran 程序时,比如 main.f90
(位于与 subroutines
不同的文件夹中),它使用文件夹 [=10] 的子例程(例如 sub1.f90
、sub2.f90
) =],我需要将每个子程序复制到main.f90
的文件夹中,然后像这样编译:
gfortran -o main main.f90 sub1.f90 sub2.f90
根据需要输出可执行文件。
我的问题是:gfortran 中是否有任何编译器选项可以包含 subroutine
文件夹中的文件 而无需 将每个子例程复制到 [=11] 的文件夹中=]?
我试过这两个选项:
gfortran -L/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90
gfortran -I/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90
这两个编译器选项 return 错误:gfortran: No such file or directory
我的 PC 中唯一可用的 fortran 编译器是 gfortran(没有 ifort)。
您可以简单地输入子程序文件的完整路径。所以你会增加你的编译为
gfortran -o main main.f90 subroutines/sub1.f90 subroutines/sub2.f90
或者执行此调用的一种聪明方法是使用扩展
gfortran -o main main.f90 subroutines/{sub1,sub2}.f90
其中大括号将扩展为与我显示的第一个并发症相同。