作者yuchih0519 (昱)
看板Programming
標題[問題]Fortran的Save語句如何於其他語言中實現?
時間Sun Oct 30 23:04:18 2011
最近有個需求要把一些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
1F:推 mars90226:C有static 125.226.31.235 10/30 23:22
2F:→ PsMonkey:話說有 Fortran 版 114.25.9.199 10/30 23:42
嗯....我知道,可是我問的重點應該比較偏向跨語言的吧?所以才來這問
聽說好像也有C/C++版,君不見此版也是一票C/C++的問題嗎?
3F:→ MOONRAKER:static就對 218.160.176.42 10/31 02:48
感謝~後來想想,採用全域變數,
然後寫程式的時候自律存取好像可以達到相同的效果.....
※ 編輯: yuchih0519 來自: 114.42.153.13 (11/01 21:05)
4F:→ callmei:FORTRAN裡被SAVE的變數到程式結束才會消滅 140.112.46.73 11/15 17:17