我正在做一个模拟,它需要一个计算器来调用我制作的一些 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 是编译并执行链接功能的。有什么问题的线索吗?有可能做我正在尝试的事情吗?
感谢大家!