Estoy manteniendo un small application que tiene alguna funcionalidad tipo complemento, que se implementa a través de módulos dinámicos cargados en tiempo de ejecución.Acceso a las variables globales del programa principal desde una biblioteca dinámica dlopen() ed en C en OS X
Específicamente, dado que es una aplicación Gtk +, estoy usando gmodule, pero la pregunta se aplica también a la biblioteca dinámica basada en dlfcn.h/dlopen().
Mi programa principal tiene una única variable de estructura global que contiene algo de 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 desde el programa principal a las bibliotecas dinámicas.
El problema es que esto no funciona en Mac OS X. ¿Hay alguna forma de hacerlo en OS X?
De lo contrario, ¿existe una forma más "óptima" de exponer la información global a las bibliotecas cargadas dinámicamente?
BTW aquí hay un código de ejemplo que simplifica el problema: http://pastie.org/749794 – shevron