Re: 請問Fortran有暫存檔嗎

看板Programming作者時間18年前 (2007/07/04 03:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《zaoldeck (killua)》之銘言: : 我所使用的是Fortran90,請問可以在Fortran執行中暫停後已經計算過的值會 : 暫存在哪邊呢?還是一定要整個程式都跑完他才會在我所輸出的檔案中 : 更新計算出來的值呢? 執行當中任一時點,計算的值當然是存在你宣告的變數和其他記憶體空間中,如 陣列等。你自己若不寫程式把他印出來,當然不會有什麼暫存檔。 如果你希望執行中可以在任何時間停止或繼續,可以用peekcharqq()/getcharqq(), 這兩個函數搭配可以直接讀取鍵盤緩衝區,使程式在不按鍵的時候不受打擾,但是 按下某些特定鍵的時候則會暫停,至於用哪一個鍵當然要由你來決定,印出目前結 果或儲存到暫存檔也要由你自己寫。例如可以設計成按下 ESC 的時候停止: logical(4) pressed character(1) key ... pressed=peekcharqq() if (pressed == true) then key=getcharqq() if (ichar(key) == 27) then pauseroutine end if end if ... 這個pauseroutine當然要你自己寫成一個副程式,可以輸出類似這樣的訊息 Execution paused at iteration 1252 (5.1%) To store current array contents, please give a filename Empty input resumes execution 這裡再用一個read接收使用者輸入的檔名,其他就由你自己處理。 使用peekcharqq()/getcharqq()在Compaq Visual Fortran 必需在開頭加上 USE DFLIB,在Intel Visual Fortran Compiler則是USE IFCORE。我不清楚 g77或gfortran有沒有對應的函數。   --  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 我們要保證一切的利益都歸於國家與黨。 ˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍ "Scarazin V1" -- journeyman -- -- ┌─────KKCITY─────┐ ◢╱ 只要你通過身份認證 ~ ◥█ bbs.kkcity.com.tw 免經驗、五人連署即開班系板 └──From:218.160.89.129 ──┘ ◥╲ 趕快為班上設個秘密基地吧! --
文章代碼(AID): #16Yfpk00 (Programming)
文章代碼(AID): #16Yfpk00 (Programming)