Почему я не могу установить память, созданную одним процессом через другой, используя Boost.Interprocess? - PullRequest
0 голосов
/ 20 июня 2019

Вот сервер: enter image description here

Вот клиент: enter image description here

Я создаю два независимых консольных приложения C ++один называется сервером, а другой называется клиентом.Сервер создает и разделяет память, клиент, в основном, читает ее, но настраивает некоторый сервер сигнализации для выхода.Хотя клиент существует должным образом наряду с надлежащей проверкой памяти, сервер никогда не может прочитать значение, установленное клиентом, и, следовательно, никогда не существует!Пожалуйста посоветуй.

1 Ответ

0 голосов
/ 21 июня 2019

Теперь все работает. Здесь была проблема с синтаксисом и пониманием размера памяти:

Это:

*(mem + region.get_size()) = '*';

Должно быть так:

mem[region.get_size() - 1] = '*';
...