Запускайте одно приложение C ++ из другого и общайтесь с ним

У меня есть программа C ++ (технически MATLAB mex), которую я планирую использовать для запуска автономной чистой программы C ++ slave в моей системе. Основная вызывающая программа может выглядеть примерно так:

void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){
    system ("path/to/slave/program");
}

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

Я полагаю, что мне понадобится некоторый дескриптор подчиненной программы (возможно, ее pid?), Метод для отправки сообщений и, предположительно, способ для подчиненной программы прослушивать входящие сообщения.

У меня нет опыта в том, чтобы заставить отдельные программы на С ++ общаться друг с другом, поэтому любые советы в этой области приветствуются. Кроме того, если есть какие-то особые меатабельные предостережения MATLAB, мне было бы интересно узнать об этом.

РЕДАКТИРОВАТЬЯ должен был упомянуть, что я создаю это на Ubuntu, но в конечном итоге мне понравится работать на всех платформах. Советы по платформам очень приветствуются, но многоплатформенные идеи - это то, что мне нужно.

Ответы на вопрос(5)

Ваш ответ на вопрос