лучший способ обмена данными между кодами c - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть код 3 C, работающий на RPI. Все они запускаются при загрузке и выполняют некоторые действия (например, читают некоторые данные и управляют ЖК-дисплеем)

Я реализовал коды отдельно, но теперь мне нужно разделить 30-байтовый буфер для совместного использования между ними.

что вы посоветуете для этого?

program1.c<-----------> program2.c<-----------> program3.c
buff[30] <----------->   buff[30] <-----------> buff[30]

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Вы в основном хотите реализовать IPC между этими процессами. Лично я хотел бы пойти с FIFO (именованный канал), потому что они реализуют структуру очереди для вас. Таким образом, вы можете сосредоточиться больше на интерпретации данных и меньше на проблемах синхронизации.

это может вам помочь.

0 голосов
/ 03 ноября 2018

Вы можете использовать разделяемую память IPC, которая просто позволяет получить доступ к одной и той же физической памяти из нескольких взаимодействующих процессов. Я говорю сотрудничать, потому что они должны быть осторожны с синхронизацией, или чтения могут наблюдать частично записанные данные и т. Д. Вот один учебник: http://www.raspberry -projects.com / pi / program-in-c / memory / shared-memory

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