rust 中protobuf生成与使用

news/2024/5/19 8:33:00/文章来源:https://blog.csdn.net/liangguangchuan/article/details/130886791

首先创建一个项目proto

 进入到这个文件夹中 创建我们的proto文件

初始化的项目结构是这个样子的

新建一个hello.proto文件内容如下

syntax = "proto3";package hello;service Greeter {rpc SayHello (HelloRequest) returns (HelloReply) {}
}message HelloRequest {string name = 1;
}message HelloReply {string message = 1;
}

 修改Cargo.toml文件 我们需要加一下 我们需要的依赖包

[package]
name = "proto"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]
prost = "0.7"
prost-types = { version = "0.7", optional = true }[build-dependencies]
prost-build = "0.7"

创建一个build.rs 编写代码如下:

fn main() {prost_build::Config::new().out_dir("src/pb")//设置proto输出目录.compile_protos(&["hello.proto"], &["."])//我们要处理的proto文件.unwrap();
}

由于我们的项目中没有pb的这个目录 需要手动创建一下,我们的整体结构如下

然后运行cargo build 结果如下

 查看在我们刚刚创建的pb文件夹下是否有一个hello.rs文件

 

在pb目录创建mod.rs文件 内容如下

pub mod hello;

 修改main.rs文件 内容如下:

use pb::hello;mod pb;fn main() {let request = hello::HelloRequest {name: "world".to_string(),};println!("request: {:?}", request);
}

执行cargo run

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_306636.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

落地页设计的营销心理学(二)

作为一个营销落地页的设计者,最关注的问题:怎么样设计才能让我的落地页有转化? 当然这可能有很多影响因素。但是,你有没有想过在用户打开落地页时,运用心理学概念留住他们,促使他们完成留资、下载、购买等动…

Unity | HDRP高清渲染管线学习笔记:示例场景解析

目录 一、HDRP入门 1.HDRP设置 1.1 HDRP配置文件中的全部设置项 1.1.1 Rendering下的Lit Shader Mode 1.1.2 Lighting 下的Volumetrics(体积光)和Screen Space Reflection(屏幕空间反射) 2.离线渲染VS实时渲染 3.Volume组件 …

把字节大佬花3个月时间整理的软件测试面经偷偷给室友,差点被他开除了···

写在前面 “这份软件测试面经看起来不错,等会一起发给他吧”,我看着面前的面试笔记自言自语道。 就在这时,背后传来了leder“阴森森”的声音:“不错吧,我可是足足花了三个月整理的” 始末 刚入职字节的我收到了大学室…

照片资源异地共享 ? tftgallery、xampp、快解析三种工具就能实现!

我的工作中,经常会收到处理各种图片的任务,在处理完图片之后,怎么发送给客户呢?传输的实现,需要一个安全而稳定的环境和即时方便的工具去进行操作与下载。一般情况下,我们大多会选择微信、QQ来作为传输下载…

基于stm32F407的hal库,移植FreeRTOS的具体步骤和遇到的问题(看正点原子的视频)

1. 资料准备 因为板子是stm32F407的第二版的,所以开始下的资料是旧版本的,但是旧版本的FreeRTOS工程没有hal库的,都是标准库的,这里是下载stm32F407最新版的资料,进行移植。 资料可以在正点原子官网下载,…

什么是可视化开发平台?拥有什么优势?

随着科技的进步和发展,可视化开发平台拥有广阔的市场前景,在提升企业办公企业效率、做好数据管理等方面具有自身的特色和优势。在办公自动化发展的年代,低代码开发平台是助力企业实现提质增效办公效率的得力助手,其可视化、易操作…

淘宝层级改版,五力模型上线!

最近临近618,淘系又各种功能改版,现在店铺层级也开始陆续改版了。从原来的只需要提升销售金额,到现在的五力模型。我们先说一下原来的店铺层级考核,跟现在的区别主要是哪? 1.原来店铺层级的考核升级特别简单&#xff0…

论文解读 | IROS 2022:MV6D:在RGB-D图像上使用深度逐点投票网络进行多视角6D姿态估计

原创 | 文 BFT机器人 01 研究背景 在计算机视觉领域,6D姿态估计是一种重要的任务,用于确定物体在3D空间中的位置和方向。它在许多应用领域具有广泛的应用,如机器人操作、虚拟现实、增强现实、物体跟踪等。 然而,传统的6D姿态估计方…

Windows Copilot,来了!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 5 月 23 日,微软 2023 Build 开发者大会正式开幕,跟 Google I/O 和 Apple WWDC 一样,每年微软都会在 Build 大会上发布各种新产品。 由于最近几个月 Cha…

webpack简单的搭建和使用

随便创建一个空的文件夹,例如说:explore 然后我们测试一下我们的node是否存在 可以正确打印出版本 我们再次输入:npm init -y 创建一个package.json文件 出现这样的情况就成功了 然后我们要安装webpack在终端上输入命令: npm i …

智能排班系统 【管理系统功能、操作说明——下篇】

文章目录 页面与功能展示排班日历月视图(按职位查询)月视图(按员工查询)周视图 排班任务管理创建排班计算任务设置任务的排班规则设置工作日客流量导入任务计算查看任务结果发布任务任务多算法计算 页面与功能展示 排班日历 在排…

LiveGBS流媒体平台国标GB/T28181功能-作为下级级联到海康大华宇视华为等第三方国标平台同样支持对接政务公安内网国标视频平台

LiveGBS流媒体平台国标GB/T28181功能-作为下级级联到海康大华宇视华为等第三方国标平台同样支持对接政务公安内网国标视频平台 1、什么是GB/T28181级联2、搭建GB28181国标流媒体平台3、获取上级平台接入信息3.1、如何提供信息给上级3.2、上级国标平台如何添加下级域3.2、接入Li…

注意力Transformer

注意力 注意力分为两步: 计算注意力分布 α \alpha α 其实就是,打分函数进行打分,然后softmax进行归一化 根据 α \alpha α来计算输入信息的加权平均(软注意力) 其选择的信息是所有输入向量在注意力下的分布 打…

如何快速搭建SpringBoot+Vue前后端分离的开发环境

唠嗑部分 今天我们来说一说,如何快速搭建SpringBootVue前后端分离的开发环境 需要前置环境nodejs,请自行安装(傻瓜式安装) SpringBoot采用2.4.2版本,Vue采用Vue2版本 言归正传 创建Vue项目 1、安装vue npm install -g vue/cli2、检查v…

当二叉树遇上递归:如何判断单值二叉树?

本篇博客会讲解力扣“965. 单值二叉树”的解题思路,这是题目链接。 先来审题: 以下是输出示例: 以下是提示: 本题非常适合使用递归实现。分以下情况讨论: 若是空树,则符合单值二叉树的性质。若非空&am…

【亲测有效】idea部署jrebel插件

idea部署jrebel插件 1.背景 最近在维护tomcat项目,工程修改代码后需要rebuild才能更新class文件,进而运行生效。 同事介绍jrebel可以实现热部署,于是接入使用。 2.简介 JRebel是一套JavaEE开发工具。 Jrebel 可快速实现热部署&#xff0c…

软考A计划-2022年05月软件设计师下午真题及答案解析

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

Axure教程—水平方向多色图(中继器)

本文将教大家如何用AXURE制作动态水平方向多色图 一、效果介绍 如图: 预览地址:https://l83ucp.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87822666 二、功能介绍 简单填写中继器内容即可生成动态水平多色…

类和对象 --- 封装+对象特性

👂 快乐E调 - 林澜叶 - 单曲 - 网易云音乐 👂 Plain Jane (Freestyle) - Ombre2Choc Nation - 单曲 - 网易云音乐 1.5倍速,跟着敲,初识C 目录 🏆封装 🌳属性和行为作为整体 🌳案例 -- 设置…

操作系统层面下——进程状态讲解

目录 一.进程的状态:运行态 1.什么是运行状态? 2.进程进入内存的详细图解: 总结: 二.进程的状态:阻塞态 1.什么是阻塞状态? 三.进程的状态:挂起态 1.什么是挂起态? 2.阻塞与挂起的…