内在模块

Fortran 2003 引入了内部模块,这些模块提供对特殊命名常量,派生类型和模块过程的访问。现在有五个标准的内在模块:

  • ISO_C_Binding; 支持 C 互操作性;
  • ISO_Fortran_env; 详细介绍 Fortran 环境;
  • IEEE_ExceptionsIEEE_ArithmeticIEEE_Features; 支持所谓的 IEEE 算术设施。

这些内部模块是 Fortran 库的一部分,可以像其他模块一样访问,除了 use 语句可能具有明确声明的内在特性:

use, intrinsic::ISO_C_Binding

这可确保在用户提供的同名模块可用时使用内部模块。反过来

use, non_intrinsic::ISO_C_Binding

确保访问相同的用户提供的模块(必须是可访问的)而不是内部模块。没有指定的模块性质

use ISO_C_Binding

可用的非内在模块优先于内在模块。

内在 IEEE 模块与其他模块的不同之处在于,它们在作用域单元中的可访问性可能会改变其中的代码行为,甚至不参考其中定义的任何实体。