У меня есть приложение, часть которого использует разделяемые библиотеки. Эти библиотеки связаны во время компиляции.
В Runtime загрузчик ожидает, что общий объект будет находиться в LD_LIBRARY_PATH
, если не обнаружено, что все приложение завершилось с ошибкой "не удалось загрузить общие библиотеки". Обратите внимание, что нет гарантии, что клиент будет иметь библиотеку, в этом случае Я хочу, чтобы приложение оставило подходящее сообщение об ошибке, и независимая часть должна работать правильно.
Для этой цели я использую dlsym()
и dlopen()
для использования API в общей библиотеке. Проблема в том, что если у меня много функций в API, я должен получить к ним доступ индивидуально, используя dlsym()
и ptrs, которые в моем случае приводят к повреждению памяти и сбоям кода.
Есть ли альтернативы для этого?