Acceso a las variables globales del programa principal desde una biblioteca dinámica dlopen () ed en C en OS X

Estoy manteniendo unpequeña aplicación que tiene alguna funcionalidad similar a un complemento, que se implementa a través de módulos dinámicos cargados en tiempo de ejecución.

Específicamente, ya que es una aplicación Gtk +, estoy usando gmodule, pero la pregunta se aplica a la carga de la biblioteca dinámica basada en dlfcn.h / dlopen () también.

Mi programa principal tiene una única variable de estructura global que contiene información global. Quiero que esta información esté disponible para las funciones definidas en los complementos cargados dinámicamente.

En Linux, podría referirme directamente a esta variable global; esto funciona bien, y supongo que gcc o el vinculador se encargan de exportar las variables globales del programa principal a las bibliotecas dinámicas.

El problema es que esto no funciona en Mac OS X. ¿Hay alguna manera de hacer esto en OS X?

Si no es así, ¿existe una forma más "óptima" de exponer información global a bibliotecas cargadas dinámicamente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta