すでにこの質問をしましたが、今回はより明確にしようとしています。私は本当にfortranに慣れていないので、構文エラーを許してください。これは疑似コードです。
module variables
implicit none
SAVE
integer x
integer y
end module
subroutine init()
use variables
x = x + 2
y = y + 1
endsubroutine
それから私のメインプログラムは
program main
use variables
implicit none
call init()
call some_other_function()
endprogram
モジュールを含めた場合、some_other_function() で値を保持しますか? some_other_function() は巨大なシミュレーション プログラムの抽象化であると想定します。初期化された変数が値を保持し続けることに頼ることはできますか?
それはモジュールの SAVE ステートメントでしたか?
背景情報: 私はかなりの時間、program2 によって呼び出されている program1 を持っています。Program1 には、1 回だけ実行する必要がある大規模な初期化フェーズがあります。program2 が program1 を呼び出す前にその初期フェーズを実行した場合、保存されているすべてのモジュール宣言変数に依存できますか?