协议缓冲区2和3在同一个C ++ Linux应用程序中

时间:2018-02-16 14:22:35

标签: c++ linker protocol-buffers

我已经有一个已经使用proto2的C ++ Linux应用程序。

现在需要能够解析特定的proto3架构以及

不幸的是,升级proto2架构不是一种选择;也没有降级proto3。

我知道设计的气味,但这是我必须要合作的。

同时支持两者的最不痛苦的方法是什么?

我理解C ++ PB库允许动态加载.proto而不是protoc。如果我沿着这条路走下去,我是否还必须完全改变proto2位? proto2和proto3动态加载器能共存吗?

想到的另一个解决方案是在共享对象中进行proto3解析并动态链接它。

还有其他想法吗?