1

我正在尝试让代码在我的机器上运行(Windows 7 x64),它是一个 fortran 90 代码,需要第三方提供的基于 i386 的 dll 才能工作。

当我尝试将它(使用最新的 gfortran 和 mingw)编译到 x64 目标时,它拒绝了,因为 i386 dll 文件。然后,我尝试将其编译为 i686 目标,并且编译工作没有错误。

但是,输出的 a.exe 文件不会在我的 x64 窗口上运行(正如人们所期望的那样),并且在尝试从 Dosbox 运行它时(当我到达正确的目录时只需键入“a”或“a.exe”) , 我刚刚得到“这个程序不能在 DOS 模式下运行”。

所以我的问题是:这是编译过程中的失败,还是 Dosbox 出于某种原因拒绝了该程序(原因可能是“a.exe”程序在执行时需要写入文件:这是它的目的,实际上!),如果是这样,是什么原因,有没有办法最终看到我的 exe 文件运行?在我的机器上?

编辑:Dosbox 确实可以运行我从另一个项目中获得的 32 位 exe 文件,所以它不是 Dosbox 完全没有功能。但是,当尝试直接使用 Windows 7 打开该 exe 文件时,它说它与 x64 不兼容,而对于另一个文件 (a.exe),它只是说它“初始化失败”,代码为“0xC000007b”......不幸的是我的编译器调试知识接近于零……

非常感谢您的帮助!

4

0 回答 0