Значение библиотеки ldl в gcc

Я проверяю make файл и вижу, что используемые библиотеки:

LIBS = -lcppunit -ldl

lcppunit - это библиотека модульного тестирования. Что такое ldl?

Ответ 1

libdl - это динамическая библиотека ссылок .

Ответ 2

Это интерфейс для динамического загрузчика, который предоставляет клиентской программе возможность делать такие вещи, как явная загрузка других библиотек, символы поиска внутри и т.д.

Большинство программ не обязательно должны делать такие вещи явно, поскольку компоновщик делает то, что необходимо для обычного использования разделяемых библиотек при загрузке самой программы и самих библиотек. Однако программы, которые являются умными или пытаются исследовать и управлять динамической системой связывания и ее данными, требуют явного доступа. Некоторые из возможностей далеки похожи на отражение в Java, но с большими ограничениями (например, применение только к динамическим символам)

Ответ 3

libdl - это библиотека динамических ссылок, используемая в архитектурах плагинов с четко определенными интерфейсами. По крайней мере, так, как я его видел.