使用Fortran中的公共/私有语句的首选样式?

时间:2013-04-22 12:53:39

标签: scope fortran private public

例如:

module m_a
  private
  integer :: x, y
  public :: x
end module m_a

module m_b
  public
  integer :: x, y
  private :: y
end module m_b

显然,变量xy在模块m_am_b中具有相同的范围。我的问题是从编程风格的角度来看哪一个更受欢迎?

在Fortran 90/95的大多数教程中,采用了模块m_a的样式。但是,对于包含数百个模块的复杂层次结构的大型项目,我注意到sytle m_a的编译时间明显长于样式m_b的编译时间。

我还没有找到类似的话题。也许我在模块层次结构中误用了public/private语句?有什么建议吗?

1 个答案:

答案 0 :(得分:6)

首选样式m_a,默认为私有,并且项目显式声明为public。通过这种方法,程序员可以容易地识别模块导出(公共)哪些项目。使用另一种方法,很难弄清楚这些信息。协助程序员理解模块比编译时更重要。