У меня есть Dll (C++), который содержит data_seg, который используется для обмена переменными среди других программ. Он работает, и многие программы используют его (30+). Проблема в том, что я добавил эту библиотеку в новый проект, но переменную, к которой я пытаюсь получить доступ, никогда не меняет ее значение. Я должен перезапустить программу, и теперь она синхронизирована с остальными другими программами, и я могу увидеть последнее значение переменной. Любая подсказка?Dll и общая переменная
спасибо.
Haaaaaaard угадать, не зная, как вы на самом деле разделить эту память ... –
DLL переменные не являются * разделяемый между пользователями библиотек (users = процессы), каждый процесс, зависящий от библиотеки, имеет свою собственную переменную, возможно, перезапуск программы заставляет загружать значение, потому что оно инициализирует значение из некоторой внешней информации. –
Не только каждый пользователь, каждый процесс! Однако это верно только в том случае, если переменная не указывает на какую-то общую память (см., Например, https://msdn.microsoft.com/en-us/library/windows/desktop/aa366878%28v=vs.85%29 .aspx). – Aconcagua