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

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

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

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

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

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

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

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

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