Я проверяю make файл и вижу, что используемые библиотеки:
LIBS = -lcppunit -ldl
lcppunit - это библиотека модульного тестирования. Что такое ldl?
Ответ 1
libdl - это динамическая библиотека ссылок .
Ответ 2
Это интерфейс для динамического загрузчика, который предоставляет клиентской программе возможность делать такие вещи, как явная загрузка других библиотек, символы поиска внутри и т.д.
Большинство программ не обязательно должны делать такие вещи явно, поскольку компоновщик делает то, что необходимо для обычного использования разделяемых библиотек при загрузке самой программы и самих библиотек. Однако программы, которые являются умными или пытаются исследовать и управлять динамической системой связывания и ее данными, требуют явного доступа. Некоторые из возможностей далеки похожи на отражение в Java, но с большими ограничениями (например, применение только к динамическим символам)
Ответ 3
libdl - это библиотека динамических ссылок, используемая в архитектурах плагинов с четко определенными интерфейсами. По крайней мере, так, как я его видел.