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