我试图将cpp端的protobuf数据发送到java端.
我在.proto中定义了多种消息类型
在Cpp方面,我有每个消息类型的枚举,我将它添加到buf输出,如下所示:
uint8_t* __temp = (uint8_t*)(buf);
*__temp++ = (type) >> 8;
*__temp = (type) & 0x00FF;
Run Code Online (Sandbox Code Playgroud)
如何获得我添加到buf中的"类型",以便我可以实现类似的功能
MessageType parseFrom(byte[] data);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码连接到多播组:
int flag_on = 1; /* socket option flag */
struct sockaddr_in mc_addr; /* socket address structure */
char recv_str[MAX_LEN+1]; /* buffer to receive string */
int recv_len; /* length of string received */
char* mc_addr_str; /* multicast IP address */
unsigned short mc_port; /* multicast port */
struct sockaddr_in from_addr; /* packet source */
unsigned int from_len; /* source addr length */
mc_addr_str = ip; /* arg 1: multicast ip address */
mc_port = port; /* arg 2: multicast …Run Code Online (Sandbox Code Playgroud) 我的程序出了什么问题,当我尝试打印值时出现seg错误.
我的目标是在sample_function中分配一些值.
在main函数中我想将结构复制到另一个结构.
#include<stdio.h>
#include<string.h>
typedef struct
{
char *name;
char *class;
char *rollno;
} test;
test *
sample_function ()
{
test *abc;
abc = (test *)malloc(sizeof(test));
strcpy(abc->name,"Microsoft");
abc->class = "MD5";
abc->rollno = "12345";
printf("%s %s %s\n",abc->name,abc->class,abc->rollno);
return abc;
}
int main(){
test *digest_abc = NULL;
test *abc = NULL;
abc = sample_function();
digest_abc = abc;
printf(" %s %s %s \n",digest_abc->name,digest_abc->class,digest_abc->rollno);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
指针对我来说一直是个噩梦,我从来不理解它.
我正在尝试将protobuf数据从 cpp 端发送到 java 端(Android 应用程序)。
我已经.java使用选项生成了文件protoc --java_out并将该文件包含在我的 android 项目中。
如何将protobuf库链接到我的 Android 应用程序?