一、PC上安装protobuf和protobuf-c 1. 安装protobuf protocolbuffers 仓库地址 :https://github.com/protocolbuffers/protobuf 本文选择下载 v21.12版本(太新版本 protobuf-c可能不支持) $ cd protobuf-21.12$ ./autogen.sh$ ./configure #默认安装路径/usr/local/$make$ sudomakeinstall 2. 安装protobuf-c ...
会生成 /usr/local/bin/protoc-c 和 /usr/local/bin/protoc-gen-c ,用于根据.proto 生成 c 源码。 二、交叉编译protobuf-c库 #重新进入 protobuf-c 目录 $ make clean #清除之前的配置 $ ./configure --host=arm-none-linux-gnueabihf CC=arm-none-linux-gnueabihf-gcc CXX=arm-none-linux-gnueabihf-...
但它也有C版本的实现,如protobuf-c。protobuf-c 是一个纯C语言的实现,支持Protocol Buffers的所有基...
1到PB官方网站 https://code.google.com/p/protobuf/ 下载PB的安装包,如protobuf-2.5.0.tar.gz; 2 用命令tar -zxf protobuf-2.5.0.tar.gz 对压缩包解压; 3 进入解压后的源码目录 cd protobuf-2.5.0; 4在linux 上以root权限执行下列命令./configure --prefix=/usr/local/protobuf && make && ake ...
import "google/protobuf/any.proto"; message ErrorStatus { string message = 1; repeated google.protobuf.Any details = 2; } 1. 2. 3. 4. 5. 6. 定义消息类型的默认类型 URL 是type.googleapis.com/_packagename_._messagename_。 不同的语言实现将支持运行时库助手以Any类型安全的方式打包和解包值...
本文写给经常使用C编程且不喜欢C++而又要经常使用google protobuf的人。 经常写通讯程序的人对数据进行序列化或者反序列化时,可能经常使用google的protobuf(PB),其优点多多,不用我在这里赘述。 google官方的PB可以跨语言使用,唯独缺了C语言。礼失求诸野,我在网上找到了一个非官方的protobuf-c,其官方网址是http:/...
git clone https://github.com/protobuf-c/protobuf-c.git 与构建protobuffer一样,分别执行: ./autogen.sh 接下来 make,make install 最后把头文件拷贝到/usr/include下 sudo cp -r /usr/local/protobuf-c/include/protobuf-c /usr/include 按照网上教程,应该执行./configure了,但是根目录下居然没有confi...
但无论如何,我们组包发送的过程是填充结构体->发送data_buffer;反之接收数据解析的过程就是接收数据存于data_buffer->使用结构体数据。我们之前分享的《干货 | protobuf-c之嵌入式平台使用》也是这个思路。 5、传输浮点数据 unionf_data{floatf;struct{unsignedcharbyte[4];};}...
我们需要了解Protobuf中的嵌套消息类型。嵌套消息类型是指一个消息类型中包含另一个消息类型作为字段的情况。通过嵌套消息类型,我们可以构建更复杂的数据结构,实现更灵活的数据交换和存储。在C语言中,我们可以使用结构体来表示嵌套的消息类型,其中每个字段对应一个成员变量。 接下来,我们需要定义和解析消息字段。在Protobu...
Windows平台下使用,有很多现成的proto-c.exe程序工具,找一个能用的下载下来即可。 如可以在这下载:Releases · protocolbuffers/protobuf · GitHub 但是这些下载的不支持c语言的代码生成,仅支持c++,golang,java等语言的。要想c语言下使用, 参见我的另一篇博客编译protobuf工具。从GitHub - protobuf-c/protobuf-...