我注意到,父模塊使用的(子)模塊中的變量只能通過父模塊在主程序中訪問。這是一個概念,它明確區分了Fortran中的use
語句與C/C++中的include
語句。以下程序清楚地說明了這個概念。Fortran中模塊使用的模塊的變量範圍
a.f90
module a_mod
use b_mod
implicit none
integer :: a
end module
b.f90
module b_mod
use c_mod
implicit none
integer :: b
end module
c.f90
module c_mod
implicit none
integer :: c = 10
contains
subroutine inc_c
c = c + 10
end subroutine inc_c
end module
test.f90
program test
use a_mod
implicit none
call inc_c
write(*,*),c
end program
注意,我能夠通過只使用a_mod
調用函數中c_mod
。請注意,我不能直接觀察到c_mod
可用,除非我遍歷依賴項列表。
但是在一個複雜的軟件中,是否有一種簡單的方法可以知道(比如說,使用IDE)如果某個變量可用於特定行?
每個IDE都不同。這不能真正回答。一些IDE可能提供此功能,其他IDE可能不提供此功能許多Fortran程序員根本不使用任何IDE。 –
請注意,Fortran使用'private','public'和'only'具有更好的Fortran可訪問性。 –