У меня есть программа на C и программа Python на том же компьютере. Программа C генерирует некоторые данные во вложенных структурах. Какая форма IPC - лучший способ передать эти данные в программу python?
Сериализация в C (особенно вложенные структуры) - это реальный медведь из того, что я слышу, из-за отсутствия библиотек сериализации. Я не очень хорошо знаком с разделяемой памятью, но я полагаю, что форматирование структур C может быть не совсем приемлемым для программы python, когда речь идет о выравнивании памяти и следующих указателях. Библиотека ctype и struct, по-видимому, предназначена только для не вложенных структур. Пока что я думаю:
Оберните все данные в программе C в некоторый формат xml или json, напишите его через сокет в программу python, а затем пусть программа python интерпретирует данные в формате xml/json. Выглядит очень громоздко с большим количеством накладных расходов.
Любые лучшие идеи?
Думаю, ты ответил на свой вопрос. JSON, безусловно, хороший выбор. Также не сложно сделать свою сериализацию в C.