Вызов подпрограммы Фортрана от Java

Мне записали огромную подпрограмму в Фортране, который я должен использовать в программе Java. Как я могу назвать его? Я использую человечность 10.04.

5
задан rhombidodecahedron 12 July 2010 в 22:14
поделиться

2 ответа

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

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

EDIT: мне пришла в голову еще одна мысль: Если время выполнения подпрограммы Fortran огромно, вам следует подумать об интеграции ее с Java: Java помещает некоторые входные данные в файл, а Fortran модифицирует, чтобы получать входные данные из файла. Затем Java-программа может сделать вызов системы, чтобы запустить Fortran. Результаты передаются обратно тем же способом. Это действительно сложная задача, но вы, вероятно, найдете ее более простой в реализации, чем использование JNI. Более того, вы можете реализовать это в качестве временной меры, пока вы боретесь с JNI, совместимостью и т.д.

4
ответ дан 14 December 2019 в 04:29
поделиться

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

4
ответ дан 14 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: