[問題]Fortran的Save語句如何於其他語言中實現?
最近有個需求要把一些Fortran Code轉成Object Pascal程式碼,(大多是f77與f90)
由於找不到好用的轉換程式(有找到一些但轉起來大概就像Google翻譯那種程度…=.=")
所以決定手動翻譯,研究了一下Fortran的一些語法和規則之後,
一些特性(像是Common Block)大概知道怎麼轉換及避免同名變數的困擾,
但是SAVE這個語句我一直想不太出來……
根據查到的資料,Fortran的Save功能是,
當一個在函式或副程式 ABC 中的區域變數變數 N 經過楚理被Save起來(假定此時N=20)後
下次再呼叫ABC時,N的初值就為前次被Save時的狀態(即20)。
但是其他語言中,副程式的區域變數不是隨著副程式的完畢其生命週期也跟著終結嗎?
想請教板上的前輩(熟悉Fortran此功能的更好),
有沒有方式在其他比較傳統的語言(Object Pascal or C等)實現相同的功能?
另外想問一下,被Save起來的變數其生命周期有多長?何時才會被消滅?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.105.188
推
10/30 23:22, , 1F
10/30 23:22, 1F
→
10/30 23:42, , 2F
10/30 23:42, 2F
嗯....我知道,可是我問的重點應該比較偏向跨語言的吧?所以才來這問
聽說好像也有C/C++版,君不見此版也是一票C/C++的問題嗎?
→
10/31 02:48, , 3F
10/31 02:48, 3F
感謝~後來想想,採用全域變數,
然後寫程式的時候自律存取好像可以達到相同的效果.....
※ 編輯: yuchih0519 來自: 114.42.153.13 (11/01 21:05)
→
11/15 17:17, , 4F
11/15 17:17, 4F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章