C++ gcc中库dl的含义

C++ gcc中库dl的含义,c++,linux,dynamic-library,C++,Linux,Dynamic Library,我正在检查makefile,并查看使用的库是: LIBS = -lcppunit -ldl lcppunit是单元测试库。那么什么是ldl呢?libdl是一个动态链接库。libdl是一个在插件架构中使用的动态链接库,具有定义良好的接口。至少我是这么看的 这是动态加载程序的接口,它为客户端程序提供了执行诸如显式加载其他库、在其中查找符号等操作的能力 大多数程序不需要显式地执行这些操作,因为链接器在加载程序和库本身的同时,会执行启用共享库的普通使用所需的操作。然而,聪明的或试图探索和操作动态链接系

我正在检查makefile,并查看使用的库是:

LIBS = -lcppunit -ldl

lcppunit
是单元测试库。那么什么是ldl呢?

libdl
是一个动态链接库。

libdl
是一个在插件架构中使用的动态链接库,具有定义良好的接口。至少我是这么看的

这是动态加载程序的接口,它为客户端程序提供了执行诸如显式加载其他库、在其中查找符号等操作的能力

大多数程序不需要显式地执行这些操作,因为链接器在加载程序和库本身的同时,会执行启用共享库的普通使用所需的操作。然而,聪明的或试图探索和操作动态链接系统及其数据的程序需要显式访问。有些功能与Java中的反射非常相似,但有一些主要的限制(例如仅适用于动态符号)

man dlopen
(dlclose、dlerror、dlsym、dladdr、dlvsym)