Fortran 模块的子程序名称冲突
fortran modules' subroutine name conflict
我有两个不同的模块,每个模块都有相同的子程序。主程序将根据特定条件调用其中之一。我想避免将这些子程序中的每一个重命名为不同的名称。
如果您有两个模块 A
和 B
包含相同的方法 foo()
那么首先您可以使用
创建一个本地别名
program SOModNames
use A, fooA => foo
use B, fooB => foo
implicit none
! Variables
real X(10), Y(10)
call fooA(X,10)
call fooB(Y,10)
end program SOModNames
Unofrtunatelty 你不能范围到一个模块 call A::foo(X,10)
例如。
我有两个不同的模块,每个模块都有相同的子程序。主程序将根据特定条件调用其中之一。我想避免将这些子程序中的每一个重命名为不同的名称。
如果您有两个模块 A
和 B
包含相同的方法 foo()
那么首先您可以使用
program SOModNames
use A, fooA => foo
use B, fooB => foo
implicit none
! Variables
real X(10), Y(10)
call fooA(X,10)
call fooB(Y,10)
end program SOModNames
Unofrtunatelty 你不能范围到一个模块 call A::foo(X,10)
例如。