我有一个Fortran
库,它使用了很多模块。我在Windows上使用ifort
编译器。因此,我获得了库的*.lib
文件和已使用模块的*.mod
文件。
这样做的缺点是,如果我想在另一个程序中使用已编译的库,我还必须分发*.mod
个文件。如何防止这种情况?我看到两种可能性:
bind(c)
从库外部使用的所有模块函数和过程。然后我可以使用类似c的头文件分发库。还有其他可能吗?分发使用模块的已编译fortran库的最佳实践是什么?
答案 0 :(得分:1)
我认为,到目前为止,分发.mod
文件是最简单的,如果它应该使用来自Fortran的调用。如果要从其他语言调用它,无论如何都需要C接口。
糟糕的是丢失了Fortran显式接口。使用选项编号1,如果您提供带有接口块的包含文件,您可能仍然可以使用它,但只提供.mod
文件更好恕我直言。