У меня есть глобальная переменная, определенная в c-библиотеке [ex: int globalcount = 0]
и в функции инициализации библиотеки [скажем, library_init] globalcount увеличивается на 1.
Проблема здесь в следующем: когда библиотека открывается с помощью dlopen и appln, вызывает функцию library_init и закрывает библиотеки с помощью dlclose, тогда снова вызов dlopen сбрасывает globalcount до 0.
Я хочу знать, как предотвратить сброс глобальной переменной [Я хочу, чтобы globalcount был 1, а не 0]
при следующем вызове dlopen, поскольку процесс не завершается, поэтому глобальная переменная также не должна сбрасываться.
Если библиотека связана с процедурой использования -l во время ссылки, я не сталкиваюсь с проблемой abv.
проблема только когда библиотеки открываются с помощью dlopen / dlclose [несколько раз]
ОС - это Linux
Прог Лан: C
Компилятор: gcc
Как это сделать, память в сегменте данных не должна освобождаться при вызове dlclose?