Обычно использование переменной в файле .cpp приводит к глобальной доступности переменной, например:
.h file:
extern int myGlobal;
void work();
.cpp file:
int myGlobal = 42;
void work(){ myGlobal++; }
Когда файл .cpp помещается в статическую библиотеку и более одной общей библиотеки (DLL) или исполняемых ссылок на статическую библиотеку, у каждой есть собственная копия myGlobal
. work () изменил бы свою собственную версию переменной.
Мой вопрос сейчас: есть ли способ получить уникальную переменную всего процесса или указатель на эту переменную? Похоже, какое локальное хранилище было бы для переменных всего потока. Он не должен быть независимым от платформы. Бонусные баллы, если он работает в Win32:)