簡體   English   中英

在fortran程序意外結束時刷新文件

[英]Flush files at unexpected end of fortran program

我想知道當正在運行的fortran程序以意外方式(例如,外部停止)結束時,是否有一些技巧可以刷新(轉儲緩沖區)所有輸出文件。 如果有一種方法可以用該語言進行設置,那就太好了,但是,如果有一種外部方法(Linux)也可能有用。 我認為在這種情況下可能有寫緩沖區的方法...可能正在捕獲信號? 我不知道。

提前致謝。

動機:當程序中出現意外結束時,轉儲緩沖區對於調試非常有用,但是如果僅在這種情況下轉儲,則有可能避免不必要的“沖洗”正稅,從而浪費了資源。

您可以使用

open(unit = 10, file = "toto")
....
call flush(10)

http://gcc.gnu.org/onlinedocs/gfortran/FLUSH.html

根據vladimir F的評論,如果編譯器支持fortran 2003標准,則可以使用flush作為語句。

open(unit = 10, file = "toto")
...
flush(10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM