В настоящее время я настраиваю некоторый код пиксельного шейдера, написанный на C ++ компьютерной игры.Мне нужен способ для хранения глобального значения (целое число или число с плавающей запятой) таким образом, чтобы его можно было получить позже (в рамках того же процесса).Поскольку все кажется выполненным «без сохранения состояния» во время выполнения, это не поможет просто объявить и использовать статическую переменную (переменную класса), как я обычно делал бы в этой ситуации.
Таким образом, я натолкнулся на идею сохранениямое глобальное значение для конкретного адреса памяти, и получить его оттуда позже.Моя проблема в том, что я понятия не имею, возможно ли это вообще и как это сделать.Я прочитал эти вопросы, но пока не нашел ответа:
Создать новый объект C ++ по определенному адресу памяти?
Указатель на определенный фиксированный адрес
Назначение определенного адреса памяти из другой программы и изменение его значения
Назначение значения определенному адресу
Возможно ли это даже в Windows Vista или 7, и если да, то как?У меня нет возможности включить какую-либо библиотеку, но я должен достичь чего-либо с помощью встроенной функциональности c ++.
Если это невозможно (или не так просто), существуют ли альтернативные способы действительно хранить некоторые значения глобально (не как класс)переменная) так, чтобы к нему могли обращаться другие классы / экземпляры в рамках того же процесса?Может быть, какая-то сессия или кеш приложения, как в .NET или Java?
Любая помощь будет оценена.