Компиляция Fortran .dll на Windows 7 (бесплатно)? - PullRequest
4 голосов
/ 22 февраля 2012

Мой начальник только что попросил меня интегрировать его старый босс-код Fortran в проект (Java), над которым я работаю. Код был написан в 90-х годах, поэтому я предполагаю, что он все еще будет компилироваться, поэтому вместо того, чтобы переписывать его, я надеюсь, что смогу просто вызвать функции из .dll. Я уже вызываю некоторые C .dll, так что я думаю, что эта часть покрыта.

Я немного читал, и в большинстве статей рассказывается об интеграции Intel Visual Fortran Compiler в Microsoft Visual Studio. У нас есть университетская лицензия на Visual Studio, но похоже, что Intel Visual Fortran Compiler стоит около 700 долларов. Я не думаю, что мой начальник пойдет на это, поэтому я ищу другой вариант. Я знаю, что Microsoft делает множество продуктов свободно доступными для студентов через Project Dreamspark, но я не видел ничего, связанного с Фортраном.

Сейчас я смотрю на некоторые варианты на основе Cygwin (я думаю, g95), но я ищу другие идеи / варианты. Есть идеи?

Ответы [ 4 ]

10 голосов
/ 22 февраля 2012

Я использовал компилятор gfortran (g95) с флагом -shared для создания DLL.сначала скомпилируйте файлы .for / .f90 с:

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

, затем:

gfortran -shared -o mydll.dll myfile1.o myfile2.o
3 голосов
/ 22 февраля 2012

MinGW позволит вам создать DLL, которая будет работать с вашими MS.

2 голосов
/ 22 февраля 2012

Найдите порт GCC для Windows, например Mingw или GCW .Оба они создадут .obj файлы, которые могут быть связаны с Visual Studio.Или вы можете поработать и настроить VS для вызова одного из этих компиляторов командной строки в проект.Но поскольку код относительно статичен, он может быть неплохо скомпилирован один раз и, надеюсь, забудет об этом.

1 голос
/ 22 февраля 2012

Не ожидайте большой помощи от Microsoft на Фортране. Они потратили годы, пытаясь убить его в пользу Visual Basic / C.

Вы можете попробовать компилятор Silverfrost.

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

Это доступно бесплатно (версия «Personal Edition») и работает с Visual Studio. В основном это компилятор F90 / F95 с набором более поздних функций. Вы не сказали, был ли код старого босса написан на F77 или F90. Но я думаю, что Silverfrost будет обрабатывать старый код с минимальными изменениями.

Если это хорошо для вас, есть также академическая версия и корпоративная версия, к которой можно перейти по желанию.

...