Вызов подпрограммы Фортран из Java - PullRequest
5 голосов
/ 13 июля 2010

У меня есть огромная подпрограмма, написанная на фортране, которую я должен использовать в программе на Java.Как я могу это назвать?Я использую Ubuntu 10.04.

Ответы [ 2 ]

4 голосов
/ 13 июля 2010

Документ, на который ссылается @extraneon, - это способ, которым я интегрировал подпрограмму на Фортране в программу Java пару лет назад.Однако, если бы я попытался сделать это снова сегодня, я бы изучил возможность взаимодействия с функциями C , которые определены в стандарте Fortran 2003 и реализованы в последних версиях некоторых компиляторов.Я надеюсь, что смогу скомпилировать подпрограмму Fortran, чтобы она выглядела в JNI, как это было написано на C. Таким образом, вы могли бы вырезать оболочку C.

И если ваш компилятор не реализует совместимость с Cфункции, угробить и получить тот, который делает.

РЕДАКТИРОВАТЬ: мне приходит в голову другая мысль: если подпрограмма Fortran является огромной во время выполнения, вы должны подумать об интеграции ее с Java, имея Javaположить некоторые входные данные в файл и изменить Fortran, чтобы получить свои входные данные из файла.Затем Java-программа может сделать вызов системы, чтобы запустить Fortran.Передайте результаты обратно таким же образом.Это настоящий клудж, но вам, вероятно, будет проще его реализовать, чем использовать JNI.Кроме того, вы могли бы реализовать это в качестве временного интервала, борясь с JNI, совместимостью и т. Д.

4 голосов
/ 13 июля 2010

Посмотрите на этот документ , в нем подробно описан процесс интеграции нативного кода (fortran / c) с Java.Результат, конечно, будет зависеть от платформы.

...