在Windows 7上免费编译Fortran .dll文件?

6
我的老板刚刚让我将他的老板在90年代编写的Fortran代码整合到我正在开发的Java项目中。由于该代码是在90年代编写的,所以我想它仍然可以编译,因此我希望可以从.dll文件中调用函数,而不是重写它。我已经在调用一些C .dll文件,所以我认为这部分内容已经涵盖了。
我已经阅读了一些文章,大多数都是关于将Intel Visual Fortran编译器集成到Microsoft Visual Studio中的。我们拥有Visual Studio的大学站点许可证,但看起来Intel Visual Fortran编译器的价格在700美元左右。我认为我的老板不会同意购买,所以我正在寻找其他选择。我知道微软通过Project Dreamspark向学生提供许多免费产品,但我没有看到任何与Fortran相关的东西。
我现在正在查看一些基于cygwin的选项(我想是g95),但我正在寻找其他想法/选项。有任何想法吗?

Open Watcom支持F77,不过我认为我可能会首选看看MinGW是否能够胜任这项工作。 - Michael Burr
4个回答

11

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

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

那么:

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

3

MinGW可以让您创建一个能够与您的MS工具配合使用的DLL。


2
寻找针对Windows的GCC端口,例如MingwGCW。这两者都会创建.obj文件,可以在Visual Studio中链接它们。或者你可以尝试配置VS来调用其中一个命令行编译器到项目中。但由于代码相对静态,希望这是一个编译一次然后忘记的任务。

1

不要指望从微软得到有关Fortran的太多帮助。他们花了很多年试图淘汰它,转而支持Visual Basic / C。

您可以尝试Silverfrost的编译器。

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

这是免费提供的(“个人版”),并且与Visual Studio配合使用。 它基本上是一个带有一些后期功能选择的F90 / F95编译器。 您没有说旧老板的代码是用F77还是F90编写的。 但我认为Silverfrost将以最小的更改处理旧代码。

如果对您来说效果很好,还可以升级到学术版和企业版。


他们花了多年时间试图淘汰Fortran,转而支持Visual Basic / C。这几乎是不真实的。仅仅因为他们不再生产Fortran编译器(他们曾经生产过),并不意味着他们在积极地试图淘汰这门语言。 - David Heffernan
MS Fortran在90年代初确实存在。Borland也有一个,但最多只是半心半意的。 - user863545

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接