Как обмениваться данными изображения между приложениями? - PullRequest
2 голосов
/ 16 апреля 2009

У меня уже есть приложение, называемое «старое», которое отображает изображение, в котором данные изображения хранятся в форме сеанса, и мне нужно прочитать эти данные из этого существующего «старого» приложения в приложение, называемое «новым».

Как мне передать эти данные? Нужно ли мне получить адрес памяти сеанса и передать его другому приложению?

И даже если у меня есть адрес памяти, как мне прочитать все данные? В нем хранится множество данных.

Именованные каналы и все остальные создают связь между двумя процессами, и когда один процесс записывает данные в область памяти, другой процесс читает ее.

Но у меня есть адрес памяти одного процесса в качестве входных данных, не единственное, что мне нужно сделать, это просто прочитать данные с этого адреса памяти из другого процесса?

Ответы [ 3 ]

4 голосов
/ 16 апреля 2009

У вас есть довольно много вариантов общения между двумя процессами

1 голос
/ 16 апреля 2009

Поскольку вы используете C ++, я настоятельно рекомендую вам взглянуть на Boost interprocess . Он обеспечивает хороший независимый от платформы доступ к межпроцессному взаимодействию, где от вас скрыта большая часть утомительных и подверженных ошибкам деталей низкого уровня.

0 голосов
/ 16 апреля 2009

Учитывая склонность вашего вопроса, я бы посоветовал @ shoosh поименованное предложение по общей памяти. Я использовал это раньше для изображений с камер и тому подобного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...