这就是我想要弄清楚的,他们的文档解释得不够好,至少对我来说是这样。
塞纳里奥:
我有 5 个使用 protoc for C++ 生成的 proto 文件。我的应用程序需要接收一条消息,然后能够在访问它们的值和名称时遍历所有字段。
我想做的是将消息解析到 DynamicMessage 类中,然后通过字段进行迭代。这样我就不必确切知道它是什么消息,我可以用一种通用的方式处理它们。
我知道可以通过将消息解析为特定类型然后将它们视为消息基类来处理消息,但对于我的应用程序来说这是不可取的。
看起来我想做的事情应该可以通过“--descriptor_set_out”和动态消息类来实现。
我尝试过的(但失败了):
我将descriptor.proto与我的protos一起移动到文件夹中,并将其与我的其他人一起包含在编译步骤中。我还设置了 --descriptor_set_out 标志以打印到文件“my_descriptors.pb.ds”
我不知道从那里开始。
这是我引用的内容,尽管没有太多... 对不起,很长的帖子,而且主题命名模式有些模糊。
另外,如果不清楚,我认为这些消息不是“未知”。我认为仍然需要为每个原型包含各自的标头,以便我的代码知道它处理的“未知”消息。