声明全局变量用于Fortran中的许多模块的最正确方法是什么?

时间:2014-11-18 19:41:50

标签: module fortran global-variables

问题是:如果我想在许多模块中使用全局变量。我应该怎么做?

在我看来,我认为,也许我们可以制作另一个模块并声明全局变量,然后将其包含在任何需要它的文件或类似的东西中。我认为这是一种非常简单的方法,但问题是我对Fortran不熟悉。我不知道该怎么做以及人们通常如何做到这一点。

请给我一些简单的例子。

1 个答案:

答案 0 :(得分:3)

你可以制作一个模块,也许叫做global

module global
  implicit none
  real :: my_global_x
  integer :: my_global_i
end module

然后你可以在模块

中的任何地方使用它
module a
  use global ...
end module
子程序中的

...
subroutine s
  use global
  ...
end subroutine
...

或在主程序中

program main
  use global
  implicit none

  ...
end program

您还可以使用模块中的有限数量的变量来避免名称空间污染

use global, only: my_global_x