我正在检查一个makefile,并看到使用的库是:
LIBS = -lcppunit -ldl
lcppunit
是单元测试库。那是什么ldl
?
我正在检查一个makefile,并看到使用的库是:
LIBS = -lcppunit -ldl
lcppunit
是单元测试库。那是什么ldl
?
这是动态加载器的接口,它为客户端程序提供了执行诸如显式加载其他库、在其中查找符号等操作的能力。
大多数程序不需要显式地做这些事情,因为链接器会在加载程序和库本身时执行正常使用共享库所需的操作。然而,聪明的程序或试图探索和操纵动态链接系统及其数据的程序需要显式访问。一些功能与 Java 中的反射非常相似,但有很大的限制(例如仅适用于动态符号)
libdl
是动态链接库。
libdl
是在具有良好定义接口的插件架构中使用的动态链接库。至少我看到它是这样使用的。