打开和写入FORTRAN DLL中的文件

时间:2010-06-29 15:48:18

标签: file-io fortran fortran77

我正在写fortran并使用g95编译器进行编译。

我需要将一个日志文件输出到我正在编写的DLL,当前正在与主程序链接和运行,但产生的结果不正确。我对FORTRAN了解不多,但我确实得到以下代码来编译EXE编译输出:

  OPEN(UNIT=3, FILE='LOG.txt', STATUS='NEW')
  WRITE(3,*) "the gospel of PTP is bestowed upon the file."
  CLOSE(3)

这可以在独立的EXE中运行,当我运行它时,它会生成一个带有字符串的文件。但是当我尝试将它包含在我正在处理的DLL中时,它会崩溃一切。当我将它评论回来时,一切都会运行并再次运行,但显然不会产生所需的输出。

有什么想法吗?任何FORTRAN或g95人?

1 个答案:

答案 0 :(得分:0)

猜测可能会有所帮助,或者可能不会,我很少使用Fortran DLL直接编写任何内容:

  • 您希望DLL在哪里写入“LOG.txt”文件?它是否可能试图写入禁止写入的位置?为什么那会让你的程序崩溃我不太确定,但这是你需要检查的东西。我希望您从一个用户目录运行代码的EXE版本。

而且,评论:

  • 一般情况下,请避免在Fortran中使用一位数的单位数字。大多数o / s将它们用于stdout,stderr等,虽然有通常的赋值(例如stdout通常是5,我认为和stderr 6)这些都没有在Fortran标准中定义,编译器编写者可以自由使用单元号他们认为合适。