Google-protobuf:如何使用Google协议缓冲区创建联合

Sphoorthi dayanand

我目前正在尝试将Google协议缓冲区用于C语言。对于如何使用GPB创建C联合,我不确定。

例如,使用以下原始文件:

message msgToSend
{
 required Type msg_type=1; //Type is a predefined enum to determine message type
 optional ReqMsg1 msg1=2;
 optional ReqMsg2 msg2=3;
}

我希望上面生成一个union编译后,但生成的结构如下:

struct _msgToSend
{
 ProtobufCMessage base;
 Type msg_type;
 ReqMsg1 msg1;
 ReqMsg2 msg2;
}
放松

我认为你不能。

在Protobuf中,“可选”并不意味着像C联合一样“是这个或另一个”。它的意思是“可能在这里”。这就是为什么您得到一个可以表示两个可选字段同时存在的C结构的原因。

在工作中,仅此一个就足以使我实现Protobuf替换系统,因为我们确实需要工会。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JavaScript中使用google-protobuf使用“地图”对消息进行编码?(协议缓冲区)

来自分类Dev

在Matlab中使用Google协议缓冲区(protobuf)的最佳方法

来自分类Dev

使用ProtoBuf.js在JavaScript中解码Google协议缓冲区消息

来自分类Dev

使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

来自分类Dev

使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

来自分类Dev

如何使用grpc和google协议缓冲区对数组进行就地修改?

来自分类Dev

在Java协议缓冲区中导入“ google / protobuf / descriptor.proto”

来自分类Dev

Python3中的Google协议缓冲区(protobuf)-ParseFromString的问题(编码?)

来自分类Dev

在GOOGLE_PROTOBUF_MIN_PROTOC_VERSION检查期间编译时出现协议缓冲区错误

来自分类Dev

我是否需要删除传递给 google 协议缓冲区(protobuf)的对象?

来自分类Dev

使用Java协议缓冲区的批量Google数据存储区查询

来自分类Dev

C ++中的Google协议缓冲区:从现有结构创建消息

来自分类Dev

使用Django时如何通过Google协议缓冲区传递变量?特别是比特币比特币

来自分类Dev

无法获取Google协议缓冲区进行编译

来自分类Dev

纯虚拟方法称为错误Google协议缓冲区

来自分类Dev

Golang Google协议缓冲区中的错误

来自分类Dev

微软的Bond和Google的协议缓冲区之间的区别

来自分类Dev

带有Google协议缓冲区的CMake

来自分类Dev

未定义的参考Google协议缓冲区类

来自分类Dev

带有Google协议缓冲区的CMake

来自分类Dev

C ++ Google协议缓冲区打开http套接字

来自分类Dev

从套接字转换(解析)Google协议缓冲区流

来自分类Dev

无法使用使用Google协议缓冲区的python应用程序

来自分类Dev

如何在Django视图中捕获和修改Google协议缓冲区?

来自分类Dev

如何列出您在Google协议缓冲区中定义的属性?

来自分类Dev

Google协议缓冲区,如何处理多种消息类型?

来自分类Dev

如何在Java中初始化Google协议缓冲区的时间戳?

来自分类Dev

如何在Visual Studio 2013中的Python中为协议缓冲区添加“ google”模块?

来自分类Dev

无法使用Google协议缓冲区从C#返回相同的double到C ++,然后返回

Related 相关文章

  1. 1

    如何在JavaScript中使用google-protobuf使用“地图”对消息进行编码?(协议缓冲区)

  2. 2

    在Matlab中使用Google协议缓冲区(protobuf)的最佳方法

  3. 3

    使用ProtoBuf.js在JavaScript中解码Google协议缓冲区消息

  4. 4

    使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

  5. 5

    使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

  6. 6

    如何使用grpc和google协议缓冲区对数组进行就地修改?

  7. 7

    在Java协议缓冲区中导入“ google / protobuf / descriptor.proto”

  8. 8

    Python3中的Google协议缓冲区(protobuf)-ParseFromString的问题(编码?)

  9. 9

    在GOOGLE_PROTOBUF_MIN_PROTOC_VERSION检查期间编译时出现协议缓冲区错误

  10. 10

    我是否需要删除传递给 google 协议缓冲区(protobuf)的对象?

  11. 11

    使用Java协议缓冲区的批量Google数据存储区查询

  12. 12

    C ++中的Google协议缓冲区:从现有结构创建消息

  13. 13

    使用Django时如何通过Google协议缓冲区传递变量?特别是比特币比特币

  14. 14

    无法获取Google协议缓冲区进行编译

  15. 15

    纯虚拟方法称为错误Google协议缓冲区

  16. 16

    Golang Google协议缓冲区中的错误

  17. 17

    微软的Bond和Google的协议缓冲区之间的区别

  18. 18

    带有Google协议缓冲区的CMake

  19. 19

    未定义的参考Google协议缓冲区类

  20. 20

    带有Google协议缓冲区的CMake

  21. 21

    C ++ Google协议缓冲区打开http套接字

  22. 22

    从套接字转换(解析)Google协议缓冲区流

  23. 23

    无法使用使用Google协议缓冲区的python应用程序

  24. 24

    如何在Django视图中捕获和修改Google协议缓冲区?

  25. 25

    如何列出您在Google协议缓冲区中定义的属性?

  26. 26

    Google协议缓冲区,如何处理多种消息类型?

  27. 27

    如何在Java中初始化Google协议缓冲区的时间戳?

  28. 28

    如何在Visual Studio 2013中的Python中为协议缓冲区添加“ google”模块?

  29. 29

    无法使用Google协议缓冲区从C#返回相同的double到C ++,然后返回

热门标签

归档