Преобразование между структурами C (C ++ POD) и google protobufs?

У меня есть код, который в настоящее время проходит через многие (иногда вложенные) структуры и массивы C (или C ++ Plain Old Data).

Я хотел бы преобразовать их в / из Google Protobufs. Я мог бы вручную написать код, который конвертируется между этими двумя форматами, но он был бы менее подвержен ошибкам при автоматической генерации такого кода. Каков наилучший способ сделать это? (Это было бы легко в языке с достаточным самоанализом для перебора имен переменных-членов, но это код C ++, который мыо чём)

Одна вещь, которую яРассматривается вопрос написания кода Python, который анализирует структуры C, а затем выплевывает файл .proto вместе с кодом C, который копирует данные от члена к члену (в любом направлении) для всех типов, но, возможно, есть лучший способ. или, может быть, есть другой IDL, который уже может генерировать:

.h файл, содержащий все вложенные типы.proto файл, содержащий эквивалентыФайл .c с функциями, которые копируют любое направление между структурами C ++, которые генерирует файл .proto, и структурами, определенными в файле .h

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

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