Usando uma variável global em uma biblioteca compartilhada

Estou escrevendo um aplicativo em C que usou uma variável global (uma estrutura de arquivo de log). No meu aplicativo, estou carregando bibliotecas compartilhadas dinamicamente em tempo de execução e quero usar uma variável global apontando para a mesma estrutura de arquivo de log para fazer logon na biblioteca compartilhada.

Isso não parece ser possível na abordagem fácil:

declarar a variável global como externa não funcionará porque dlopen () diz que a variável global é um símbolo indefinidodefinir a variável global novamente funcionará, mas a variável "nova" não será a mesma que a "original" no executável

Qualquer dica de como consertar isso seria ótimo.

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion