Как создать dll для класса fortran 2003

У меня есть большая кодовая база fortran, из которой я хотел бы переместить некоторые части в dll. После некоторых исследований я знаю, как создать обычную fortran dll с выбранной мной IDE (code::blocks) и как использовать ее в другой программе fortran. Однако я наткнулся на стену. Пока мне нужно только поместить процедуры в dll, все прекрасно. Однако то, что я хочу сделать, это включить класс Fortran 2003 таким образом, чтобы я также мог использовать этот класс в своей программе на Fortran. Первая проблема заключается в том, что класс должен быть встроен в модуль (который немного, но существенно отличается от обычного файла fortran для dll). Само по себе это не большая проблема для создания dll, но это при попытке доступа к подпрограммам или классу.

В настоящее время у меня есть временное решение, которое влечет за собой включение оператора использования в мою программу: use mydllmodule; а также размещение файла модуля mydllmodule.mod в каталоге модулей моей программы.

Есть ли более приятный способ создания fortran dll, который содержит классы fortran и позволяет получить к ним доступ в основной программе (без использования прагмы, специфичной для компилятора, поскольку этот код компилируется и запускается на моей локальной машине Windows для разработки, и скомпилировано и запущено на HPC для производства). Я ищу настройку, в которой жизнь пользователя может быть максимально простой (т.е. просто поместить куда-нибудь dll, возможно, использовать оператор использования)

Спасибо


person DannyVanpoucke    schedule 03.08.2015    source источник
comment
См. stackoverflow.com/questions/10834402/ stackoverflow. ком/вопросы/18521442/   -  person Vladimir F    schedule 03.08.2015
comment
Обычно вам нужен файл .mod, и он зависит от компилятора. Я не верю, что вы можете сделать это без перекомпиляции библиотеки для целевого компилятора.   -  person Vladimir F    schedule 03.08.2015
comment
Большое спасибо за ссылки. Потребность в файлах .mod вызывает сожаление. Я посмотрю, смогу ли я построить полезный обходной путь.   -  person DannyVanpoucke    schedule 29.08.2015