Я поддерживаю небольшое приложение , которое имеет некоторую функциональность, подобную плагину, которая реализуется через динамические модули, загружаемые во время выполнения.
В частности, поскольку это приложение Gtk +, я использую gmodule, но вопрос также относится к загрузке динамической библиотеки на основе dlfcn.h / dlopen ().
Моя основная программа имеет одну глобальную переменную структуры, содержащую некоторую глобальную информацию. Я хочу, чтобы эта информация была доступна для функций, определенных в динамически загружаемых плагинах.
В Linux я мог бы просто обратиться к этой глобальной переменной напрямую - это хорошо работает, и я предполагаю, что gcc или компоновщик позаботятся об экспорте глобальных переменных из основной программы в динамические библиотеки.
Проблема в том, что это не работает в Mac OS X. Есть ли способ сделать это в OS X?
Если нет, существует ли более эффективный способ предоставления глобальной информации динамически загружаемым библиотекам?