В настоящее время я занимаюсь разработкой модульной структуры, использующей разделяемую память на C & C ++.
Цель состоит в том, чтобы иметь независимые программы на C и C ++, общаться друг с другом через общую память.
например. одна программа отвечает за считывание GPS, а другая - за обработку данных от нескольких датчиков.
Мастер-программа запустит все подчиненные программы.
(в настоящее время я использую fp = popen(./slave1/slave1,"r");
для этого), а затем создаю сегменты разделяемой памяти, к которым может подключиться каждый ведомый.
Смысл этого в том, что если умирает раб, он может быть восстановлен мастером и повторно подключен к тому же сегменту общей памяти.
Рабы также могут быть заменены во время работы (например, переключение одного GPS с другим).
Проблема в том, что я порождаю подчиненное через popen и передаю идентификатор общей памяти подчиненному. Через трубу раб передает обратно необходимый размер.
После того, как это будет сделано, я хочу перенаправить канал подчиненного устройства к терминалу для отображения отладочных сообщений и не проходить через мастер.
Высоко ценятся предложения и другие решения проблемы.
Ключ должен иметь некоторую форму связи до настройки общей памяти.