Fortran Coder

标题: 对调用了fortran DLL的exe程序进行批处理,提示forrtl(29):file no... [打印本页]

作者: cpsj1129    时间: 2015-9-8 15:25
标题: 对调用了fortran DLL的exe程序进行批处理,提示forrtl(29):file no...
程序A.exe调用了Fortran编写的DLL文件,直接双击A.exe或者在.bat文件中只写A.exe可以正确执行,但在批处理文件中给A.exe加上参数(比如,.bat文件中的内容为A.exe D:\info.txt)后就出现错误:forrtl:severe (29): file not found, unit 30. file: a:\...\fort.30
谢谢指导!

作者: 楚香饭    时间: 2015-9-8 15:32
这完全取决于 A.exe 和 DLL 的代码了。
作者: cpsj1129    时间: 2015-9-8 15:50
楚香饭 发表于 2015-9-8 15:32
这完全取决于 A.exe 和 DLL 的代码了。

但是直接双击运行A.exe可以执行,为啥在bat文件中加上参数就不行了呢?在代码中DLL文件跟A的参数没有半毛钱的关系
作者: 楚香饭    时间: 2015-9-8 18:39
比如说 A 由于有了参数,改变了当前路径,导致 DLL 中相对路径打开文件失败。
比如说 A 由于有了参数,改变了传递给 DLL 的文件名,导致 DLL 打不开错误的文件名。
比如说 A 由于有了参数,开辟了大量的内存,导致 DLL 资源吃紧。

有很多种可能,没有任何代码,谁也不知道为什么。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2