【问题标题】:Compiling a Fortran .dll on Windows 7 (for free)?在 Windows 7 上编译 Fortran .dll(免费)?
【发布时间】:2012-02-21 23:27:44
【问题描述】:

我的老板刚刚要求我将他老板的旧 Fortran 代码集成到我正在处理的项目 (Java) 中。代码是在 90 年代编写的,所以我想它仍然可以编译,所以与其重新编写它,我希望我可以从 .dll 中调用函数。我已经调用了一些 C .dll,所以我想我已经涵盖了那部分。

我一直在阅读,大部分文章都在谈论将英特尔 Visual Fortran 编译器集成到 Microsoft Visual Studio 中。我们已经获得了 Visual Studio 的大学站点许可,但看起来英特尔 Visual Fortran 编译器的价格在 700 美元左右。我不认为我的老板会这样做,所以我正在寻找另一种选择。我知道微软通过 Project Dreamspark 向学生免费提供了许多产品,但我没有看到任何与 Fortran 相关的内容。

我现在正在寻找一些基于 cygwin 的选项(我认为是 g95),但我正在寻找其他想法/选项。有什么想法吗?

【问题讨论】:

  • Open Watcom 支持 F77,但我想我可能会选择看看 MinGW 是否可以先完成这项工作。

标签: windows dll fortran


【解决方案1】:

我使用带有 -shared 标志的 gfortran (g95) 编译器来创建 DLL。首先编译 .for/.f90 文件:

gfortran -c myfile1.f90
gfortran -c myfile2.f90

然后:

gfortran -shared -o mydll.dll myfile1.o myfile2.o

【讨论】:

    【解决方案2】:

    MinGW 将让您创建一个适用于您的 MS 内容的 DLL。

    【讨论】:

      【解决方案3】:

      寻找到 Windows 的 GCC 端口,例如 Mingw 或 GCW。两者都将创建 .obj 文件,这些文件可以在 Visual Studio 中链接到。或者,您可以四处寻找并配置 VS 以将其中一个命令行编译器调用到项目中。但是由于代码是相对静态的,所以它可能是一个很好的编译一次后忘记它的任务,希望如此。

      【讨论】:

        【解决方案4】:

        不要期望 Microsoft 在 Fortran 上提供太多帮助。 他们花了数年时间试图将其淘汰,转而支持 Visual Basic / C。

        你可以试试 Silverfrost 的编译器。

        http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx

        这是免费的(“个人版”版本),可与 Visual Studio 一起使用。 它基本上是一个 F90/F95 编译器,其中包含一系列后续功能。 你没说老老板的代码是F77还是F90写的。 但我认为 Silverfrost 会以最少的更改处理旧代码。

        如果你觉得不错,还有一个学术版和一个企业版可以根据需要升级。

        【讨论】:

        • “他们花了数年时间试图扼杀它,转而支持 Visual Basic / C。”这几乎不是真的。仅仅因为他们不再生产 Fortran 编译器(他们曾经)并不意味着他们正在积极地试图扼杀这种语言。
        • MS Fortran 确实存在于 90 年代初期。 Borland 也有一个。但它充其量只是半心半意。
        猜你喜欢
        • 2015-01-10
        • 1970-01-01
        • 1970-01-01
        • 2023-01-17
        • 1970-01-01
        • 1970-01-01
        • 2018-12-29
        • 1970-01-01
        • 2018-08-15
        相关资源
        最近更新 更多