在我对协议缓冲区应用程序的实现过程中,我尝试使用文本 pbtxt 文件来简化我的编程。这个想法是在我对 API 有了更清晰的了解之后切换到 pb 二进制格式。(我在 C++ 中工作)
我通过使用TextFormat::Parse
. (文件内容来自TextFormat::Print
)。然后我生成了相应的二进制文件,我尝试用它导入myMessageVariable.ParsefromCodedStream
(文件未压缩)。但我注意到只有一小部分消息被导入。返回 true,因此我猜该myMessageVariable.IsInitialized
库“认为”它已完全导入文件。
所以我的问题是:文件的导入方式有什么不同可能使导入“半失败”吗?(除了一个是二进制而另一个是文本的明显原因之外?)我们能做些什么来对抗它?