0

我有一个大型的 fortran 代码库,我想将其中的一些部分移动到 dll 中。在做了一些研究之后,我知道如何使用我选择的 IDE(code::blocks)构建一个普通的fortran dll,以及如何在另一个fortran程序中使用它。然而,我撞到了墙角。只要我只需要把程序放在 dll 中,一切都很好。但是,我想做的是包含一个 Fortran 2003 类,以便我也可以在我的 fortran 程序中使用该类。第一个问题是需要将类嵌入到模块中(这与 dll 的普通 fortran 文件略有不同但重要的是)。就其本身而言,这对于构建 dll 来说并不是一个大问题,但在尝试访问子例程或类时却是这样。

我目前有一个权宜之计的解决方案,它需要在我的程序中包含一个 use 语句:use mydllmodule; 并将模块文件 mydllmodule.mod 放在我程序的模块目录中。

有没有更好的方法来创建包含 fortran 类的 fortran dll,并允许在主程序中访问它们(不使用编译器特定的编译指示,因为此代码是在我的本地 Windows 机器上编译和运行以进行开发的,并且在 HPC 上编译并运行以用于生产)。我正在寻找一种设置,其中用户的生活可以尽可能简单(即只需将 dll 放在某处,也许使用 use 语句)

谢谢

4

0 回答 0