Спасибо, peoro, мне пришлось передать флаг -rdynamic компоновщику. Теперь работает нормально.

у приложение в C, который использовал глобальную переменную (структура файла журнала). В моем приложении я динамически загружаю разделяемые библиотеки во время выполнения и хочу использовать глобальную переменную, указывающую на ту же структуру лог-файла, для ведения журнала в разделяемой библиотеке.

Это кажется невозможным при простом подходе:

объявление глобальной переменной как extern не будет работать, потому что dlopen () говорит, что глобальная переменная является неопределенным символомопределение глобальной переменной снова будет работать, но «новая» переменная не будет такой же, как «оригинальная» в исполняемом файле

Любой намек на то, как это исправить, было бы замечательно.

Спасибо!

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

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