我有两个不同的模块,每个模块都有相同的子程序。主程序将根据某种条件调用其中一个。我想避免将这些子程序重命名为不同的名称。
我有两个不同的模块,每个模块都有相同的子程序。主程序将根据某种条件调用其中一个。我想避免将这些子程序重命名为不同的名称。
如果你有两个模块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
不幸的是,您不能使用 call A::foo(X,10)
这样的方式来作用于一个模块。
USE
语句定义别名吗? - John Alexiou