如何为fortran 2003类创建一个dll

时间:2015-08-03 13:13:21

标签: dll fortran dllimport fortran2003 fortran2008

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

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

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

感谢

0 个答案:

没有答案