fortran 模块的子例程名称冲突
Posted
技术标签:
【中文标题】fortran 模块的子例程名称冲突【英文标题】:fortran modules' subroutine name conflict 【发布时间】:2015-01-25 07:22:07 【问题描述】:我有两个不同的模块,每个模块都有相同的子程序。主程序将根据特定条件调用其中一个。我想避免将这些子例程中的每一个重命名为不同的名称。
【问题讨论】:
您需要发布一些裸代码并且您是否尝试过定义别名的USE
语句?
【参考方案1】:
如果你有两个模块 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)
将范围限定为模块。
【讨论】:
请也回答这个问题:) ***.com/questions/28134327/…以上是关于fortran 模块的子例程名称冲突的主要内容,如果未能解决你的问题,请参考以下文章
使用 GCC 对模块内的 fortran 子例程进行外部命名