У меня есть большая кодовая база 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, возможно, использовать оператор использования)
Спасибо