Доступ к глобальным переменным основной программы из динамической библиотеки dlopen () ed в C на OS X

Я поддерживаюнебольшое приложение у этого есть некоторая подобная плагину функциональность, которая реализована через динамические модули, загруженные во время выполнения.

В частности, так как этоэто приложение Gtk +, яЯ использую gmodule, но вопрос также относится и к загрузке динамической библиотеки на основе dlfcn.h / dlopen ().

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

В Linux я мог бы просто обратиться к этой глобальной переменной напрямую - это хорошо работает, и яЯ предполагаю, что gcc или компоновщик позаботятся об экспорте глобальных переменных из основной программы в динамические библиотеки.

Проблема в том, что это неработать в Mac OS X. Есть ли способ сделать это в OS X?

Если нет, есть ли ещелучшая практика » способ выставить глобальную информацию для динамически загружаемых библиотек?

Ответы на вопрос(2)

Ваш ответ на вопрос