如何检查FORTRAN中动态库的可用性和加载

时间:2014-01-22 08:33:56

标签: linux fortran shared-libraries

我编写了一个FORTRAN库“B”,根据调用它的方式,它可以调用或不调用另一个库“C”中的例程。意图是“B”用于应用程序“A”。

到目前为止,B和C被编译为静态库(.a文件)。 这意味着C.a必须可用并在编译B.a时链接到,这没关系。 这也意味着在编译应用程序A时Ca必须可用,即使A无意使用依赖于C的B中的功能。这很烦人且似乎没必要,因为必须将Ca分发给永远不会使用的用户它。

理想情况下,我希望将C作为动态/共享库,并在B中执行一些运行时可用性检查(伪代码):

if (requested feature from C)
    if (is_available(libC.so))
        call routine_from_C()
        (Go on...)
    else
        call Error("You need to install C")
else
    (We don't need C. Go on...)

Linux上的FORTRAN是否可以这样?

0 个答案:

没有答案