protobuf(.proto)的使用

编程入门 行业动态 更新时间:2024-10-04 15:26:55

<a href=https://www.elefans.com/category/jswz/34/1771355.html style=protobuf(.proto)的使用"/>

protobuf(.proto)的使用

protobuf 是Google提供一个具有高效的协议数据交换格式工具库,已被广泛应用。
通俗点说,就是将要发送的消息,通过protobuf格式发出去,自动进行封装。另一方对proto格式解析,直接得到原数据。
注:适用linux

使用方式

通过编写一个要发送的消息格式文件(.proto文件),然后通过自动化生成工具,生成对应的处理类及其头文件。

编写*.proto文件

按如下格式填写你的消息。具体规范,

package message;message linear_acceleration_covariance {required double cov = 1;
}
message angular_velocity_covariance {required double cov = 1;
}
message orientation_covariance {required double cov = 1;
}/* IMU数据 */
message ImuData {required uint64 sys_time_us                     = 1; //系统时间 (单位 us)required uint64 measurement_time                = 2; //测量时间点optional int32 status                           = 3; //传感器状态,保留字段optional double measurement_span                = 4; //t1-t0optional double temperature                     = 5; //IMU芯片温度 (单位 ℃)required double linear_acceleration_x           = 6; //x轴向加速度 (单位 m/s^2)required double linear_acceleration_y           = 7; //y轴向加速度 (单位 m/s^2)required double linear_acceleration_z           = 8; //z轴向加速度 (单位 m/s^2)required double angular_velocity_x              = 9; //x轴向加速度 (单位 rad/s)required double angular_velocity_y              = 10; //y轴向加速度 (单位 rad/s)required double angular_velocity_z              = 11; //z轴向加速度 (单位 rad/s)optional bool   is_calibrated                   = 12;//IMU是否已经标定,需要从配置文件中读取optional bool   accx_isvalid                    = 13;//三轴IMU会有该标志位(asilB)optional bool   accy_isvalid                    = 14;//三轴IMU会有该标志位(asilB)optional bool   gyroz_isvalid                   = 15;//三轴IMU会有该标志位(asilB)}
使用自动化命令生成

执行自动生成需要事先安装 protoc,如x11proto-gl-dev。

  • $input 是proto文件所在目录
  • $protofile 是文件列表
  • $output 是.h 文件的输出文件目录
${protoc程序路径} -I=$input $protofile --cpp_out=$output

注:安装完成后,which protoc可以快捷查看程序路径

更多推荐

protobuf(.proto)的使用

本文发布于:2024-02-19 13:00:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764327.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:protobuf   proto

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!