图书馆dl在gcc中的意义

Dzu*_*yen 15 c++ linux dynamic-library

我正在检查一个makefile,看到使用的库是:

LIBS = -lcppunit -ldl
Run Code Online (Sandbox Code Playgroud)

lcppunit是单元测试库.那是什么ldl

Chr*_*ton 19

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

大多数程序不需要显式地执行此类操作,因为链接器执行在加载程序和库本身时启用普通共享库所需的操作.但是,聪明或试图探索和操纵动态链接系统及其数据的程序需要显式访问.有些功能与Java中的反射类似,但有很大的局限性(例如仅适用于动态符号)


Jes*_*mos 5

libdl是具有明确定义的接口的插件架构中使用的动态链接库。至少我是这样使用的。