2012-02-21 105 views
0

我可以在fortran模塊中聲明變量嗎? 我要讓通用模塊可調用的其他子程序我可以在fortran模塊中聲明意圖變量嗎?

module fmod 
real b 
integer n, i 
integer, dimension(6), intent(inout) :: indata1 
real, dimension(7,8), intent(inout) :: indata2 
end module fmod 

subroutine temp_f(indata1, indata2) 
use fmod 

do i=1,8 
    print *, indata4(i) 
end do 

end 

回答

7

沒有,目的是用於子程序的參數,而不模塊變量。模塊變量通常可用於「使用」它們的任何實體。你可以聲明它們是「私人的」,這將阻止它們在模塊外的可視性。也許你正在考慮將模塊作爲包含文件,它將源代碼行復制到複製的位置。這不是模塊的概念......它是一個獨立的源代碼實體。

雖然它超出了語言標準,但很多Fortran編譯器都支持通過從第一列開始的「#include」使用包含文件。有些編譯器使用文件類型「F90」(大寫)。與其他人一起,你必須使用編譯器選項來運行C風格預處理器。這種用法會使您的代碼移植性降低。

+0

那我可以這樣嗎? http://codepad.org/wmbePIPb – wonjun 2012-02-21 05:52:04

+0

是的,你可以。這種形式的include是標準的Fortran 90語句,而不是預處理宏。 – 2012-02-21 08:41:08

相關問題