В общем, нет, то, что вы просите, невозможно или не рекомендуется.В большинстве операционных систем (Windows, Linux и т. Д.) Каждый экземпляр программы выполняется в отдельном адресном пространстве процесса, изолированном от всех других процессов.В некоторых случаях исполняемый код общих библиотек DLL, доступный только для чтения, может использоваться несколькими процессами для снижения общего потребления памяти, но доступные для записи данные являются локальными для каждого процесса.
Вы можете добиться того, чего просите,использование служб ОС для явной настройки области общей памяти, к которой могут обращаться несколько процессов.В Windows это можно сделать, создав именованные объекты общей памяти , используя имя, заранее известное всем участникам.Затем вы можете типизировать этот блок памяти к типу структуры и прочитать и записать поля в этой области памяти, и все процессы, которые имеют вид на эту совместно используемую память, будут видеть одни и те же данные.
Поскольку несколько процессов работают одновременноВам также необходимо подумать о том, как обновляются данные в области общей памяти.Если нескольким процессам необходимо обновить поле счетчика или еще что-то в области совместно используемой памяти, вам необходимо внедрить потоковые методы для чтения и записи этих данных, такие как инкремент с приращением или использование именованного объекта мьютекса в качестве исключительной блокировки доступа.