Fortran 程序与模块:内在过程与模块详解
1. 过程引用解析规则
在 Fortran 中,过程引用的解析规则取决于名称是否被确定为通用名称。
1.1 通用名称引用解析
若在作用域单元中满足以下条件之一,则名称被确定为通用名称:
- 该作用域单元有该名称的通用接口块。
- 有该名称的通用内在过程的 INTRINSIC 规范。
- 通过 USE 或宿主关联访问该名称的通用过程。
当名称被确定为通用名称时,候选过程按以下顺序检查,解析为与引用一致的第一个过程:
1. 通用的非元素特定过程。
2. 通用的元素特定过程。
3. 内在过程。
4. 宿主作用域单元中的通用引用,按相同顺序检查。
例如:
INTERFACE GEN
ELEMENTAL SUBROUTINE SP_E(X)
REAL, INTENT(INOUT) :: X
END SUBROUTINE
SUBROUTINE SP_A(A)
REAL, INTENT(OUT) :: A(:)
END SUBROUTINE
END INTERFACE
REAL B(10), C(10,10)
CALL GEN(B) ! 解析为 SP_A
1.2 特定名称引用解析
若名称在作用域单元中未被确定为通用名称,其解析如下:
- 若名称属于以下情况
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



