gpt4 book ai didi

c - 谷歌 Protocol Buffer : How to create unions using Google protocol buffer

转载 作者:太空狗 更新时间:2023-10-29 16:46:55 25 4
gpt4 key购买 nike

我目前正在尝试将 Google Protocol Buffers 用于 C 语言。我有点不确定如何使用 GPB 创建 C union 。

例如,proto文件如下:

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 中工作):

message MyUnion {
oneof MyUnionOneof {
bool booleanValue = 1;
string stringValue = 2;
}
}

查看此链接:https://developers.google.com/protocol-buffers/docs/proto#oneof

关于c - 谷歌 Protocol Buffer : How to create unions using Google protocol buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com