Предисловие: у меня нет опыта работы с буферами протокола Google. Однако, похоже, что у него есть некоторые свойства, которые я хотел бы использовать при разработке новой системы. У меня есть один вопрос, на который я не могу найти прямой ответ:
В реализации C ++, если несколько системных компонентов (то есть разделяемых / динамических библиотек) обмениваются сообщениями, и два из них нуждаются в добавлении или обновлении одного сообщения (т. Е. Посредством изменения файла .proto
), нужно ли мне перекомпоновать все библиотеки?
Даже если другие библиотеки не «заботятся» об изменениях? (Предполагая, что я следую рекомендациям по обратной совместимости и т. Д.)
В идеале я бы хотел скомпилировать / связать фрагменты, которым нужны новые поля или сообщения, и позволить остальной системе безопасно игнорировать изменения. Кажется, что это подразумевается во многом из того, что я читаю, но я не вижу, что это адресовано напрямую.
Справочная документация по адресу:
https://developers.google.com/protocol-buffers/docs/proto3#generating
https://developers.google.com/protocol-buffers/docs/cpptutorial
Спасибо!