位置:首页 > 高级语言 > Fortran在线教程 > Fortran模块

Fortran模块

模块就像一个包,可以包含函数和子程序,如果正在编写一个非常大的项目,或者函数或子程序需要在多个程序中使用。

模块提供拆分多个文件之间程序的方式。

模块用于:

  • 包装子程序,数据和接口块。
  • 定义,可以使用多于一个常规全局数据。
  • 声明可以选择的任何程序内提供的变量。
  • 导入整个模块,可使用在另一个程序或子程序。

模块的语法

模块由两部分组成:

  • 规范的一部分,语句声明
  • 包含一部分用于子程序和函数定义

模块的一般形式是:

module name     
   [statement declarations]  
   [contains [subroutine and function definitions] ] 
end module [name]

使用一个模块到程序中

可以将一个程序或子程序通过使用声明的模块:

use name  

请注意

  • 可以根据需要添加尽可能多的模块,在不同的文件中,并单独编译。

  • 一个模块可以在各种不同的程序中使用。

  • 一个模块在同一程序中可使用多次。

  • 在模块规格说明部分内声明的变量,在模块是全局的。

  • 在一个模块中声明的变量成为在模块中使用的任何程序或例程的全局变量。

  • 使用声明可以出现在主程序中,或任何其他子程序或模块,它使用所述例程或在一个特定的模块声明的变量。

示例

下面的例子演示了这一概念:

module constants  
implicit none 

   real, parameter :: pi = 3.1415926536  
   real, parameter :: e = 2.7182818285 
   
contains      
   subroutine show_consts()          
      print*, "Pi = ", pi          
      print*,  "e = "