内在模块
Fortran 2003 引入了内部模块,这些模块提供对特殊命名常量,派生类型和模块过程的访问。现在有五个标准的内在模块:
ISO_C_Binding
; 支持 C 互操作性;ISO_Fortran_env
; 详细介绍 Fortran 环境;IEEE_Exceptions
,IEEE_Arithmetic
和IEEE_Features
; 支持所谓的 IEEE 算术设施。
这些内部模块是 Fortran 库的一部分,可以像其他模块一样访问,除了 use
语句可能具有明确声明的内在特性:
use, intrinsic::ISO_C_Binding
这可确保在用户提供的同名模块可用时使用内部模块。反过来
use, non_intrinsic::ISO_C_Binding
确保访问相同的用户提供的模块(必须是可访问的)而不是内部模块。没有指定的模块性质
use ISO_C_Binding
可用的非内在模块优先于内在模块。
内在 IEEE 模块与其他模块的不同之处在于,它们在作用域单元中的可访问性可能会改变其中的代码行为,甚至不参考其中定义的任何实体。