1

我正在做一个模拟,它需要一个计算器来调用我制作的一些 Python 模型。我的策略是使用 Fortran i/o 函数来编写导出值,通过命令提示符调用 Python 程序并将其输出作为 Fortran 的导入值读取。我没有太多使用 Fortran 的经验,这是我的代码(在 Aspen Plus Calculator 中编写):

  open(unit=1, file="in.txt")
  open(unit=2, file="bioprox.txt")
  open(unit=3, file="bioult.txt")
  open(unit=4, file="biosul.txt")

  write(1,*) WATER, ACID, BIOMASS
  write(2,'(1x,f4.2)') BIOPROX
  write(3,'(1x,f6.3)') BIOULT
  write(4,'(1x,f4.2)') BIOSUL


  close(1)
  close(2)
  close(3)
  close(4)

这很好用,但是当我尝试调用终端时,我得到了一些错误。如果我添加以下语句:

  call execute_command_line("mkdir hey")

****终端错误无法加载动态负载模块


  • 错误严重级别 0 <= 中止级别 0 *
  • 执行已终止:将不会执行模拟 *


    !处理输入规范时出错

如果我使用系统调用:

  call system("mkdir hey")

*** 在动态链接用户例程或内联 FORTRAN 期间出现严重错误,请检查文件 _3340afg.ld 以获取链接器消息。

*** 严重错误无法解决用户或内嵌 FORTRAN 子程序:

*** 子程序“ZZFORT”丢失

*** 严重错误程序因未解决的例程而终止

!处理输入规范时出错

检查链接器文件:

_3340afg.txt : 错误 LNK2019: símbolo externo _SYSTEM@8 sin resolver al que se hace referencia en la función _ZZFORT _3340afg.dll: 致命错误 LNK1120: 1 externos sin resolver Link failure, status = 1120

我正在使用 Aspen Plus V10、Intel Fortran Compiler 18 和 Visual Studio 2017。但 Aspen 是编译并执行链接功能的。有什么问题的线索吗?有可能做我正在尝试的事情吗?

感谢大家!

4

0 回答 0