У меня есть программа на C ++. Есть два процесса, которые работают в двух терминалах.
Возьмите простой пример, Процесс А отправитель и Процесс Б это приемник.
Они связаны через протокол TCP / IP с помощью Boost.
Процесс А может отправлять данные и процесс Б будет получать, а затем записать их в int
массив. подобно int mem[32]
Проблема, с которой я столкнулся, заключается в том, что это слишком медленно. Есть ли способ доступаmem[32]
из Процесс Б«прямо из Процесс А так что TCP / IP можно обойти? Как пропуск некоторых указателей? (Поскольку два процесса расположены на одном компьютере, должны быть некоторые способы доступа к общим местам памяти?)
Так возможно ли это? На что мне обратить внимание? (управление памятью?)
Спасибо
Вы можете использовать Boost.Interprocess библиотека для создания общей памяти, к которой могут обращаться несколько процессоров.
Память процесса обычно не может быть доступна другому процессу.
Вы можете разделить указатель между потоками, но не между процессами.
Вы пытались использовать сокеты, они обычно используются для связи между процессами, а также могут быть использованы между отдельными компьютерами?