首页 > 其他分享 >关于Protobuf在使用中的一些注意点

关于Protobuf在使用中的一些注意点

时间:2024-08-23 16:53:26浏览次数:7  
标签:protoc Protobuf proto xxx 编译 关于 test 注意

Protobuf是谷歌旗下的一款二进制序列化协议
协议的编写 在项目中新建一个xxx.proto文件
文件的格式
第一行写protobuf的版本 syntax = "proto3" ;
第二行写 包的名字 在C#中就说命名空间的名字,避免重复 例如 package Test;
接下来写协议内容 例如以下示例 关于protobuf的具体语法大家 自行百度
message LoginExample //message 在后面编译的时候会自动的生成一个类
{
int32 loginid =1;
string loginname =2;
optional string loginInfo =3; //optional 代表的可选的 ,意味着传真的时候可以传 可以补传
repeated int32 account = 4; // repeated 代表数组
}
接下来是proto 协议的编译,这里以C# 为例
首先确保你电脑的开发环境中含有protoc.exe 这个可执行文件 ,如果没有去Nuget一个,然后自行去安装(记得百度怎么配置环境变量)
在有protoc.exe 的情况下,找到刚刚写的xxx.proto文件的物理文件夹 ,在这里打开cmd
在刚打开的Dos窗口下 输入命令 protoc --csharp__out=编译生成的cs文件地址 (空格) 要编译的文件地址(因为我们就在这个物理磁盘下 所以直接就是 ./xxx.proto)
示例 protoc --csharp_out=../ ./test.proto 就是编译后的test.proto 放在 上一级的目录(../ 代表上级目录) 输入回车之后 就会发现在上级目录产生一个test.cs

标签:protoc,Protobuf,proto,xxx,编译,关于,test,注意
From: https://www.cnblogs.com/onlyjq/p/18376518

相关文章

  • Android 关于设备定屏/黑屏/冻屏/ANR那些事
    定屏/黑屏常见问题我的理解是冻屏和定屏是一个意思.冻屏:目的就是防止执行默写操作的过程出现黑屏,冻屏的过程只是不接收输入和不执行动画,并且会截取屏幕进行显示.A:系统问题(底层/framework层)A_1:system_server_watchdog:现象多为卡顿/黑屏A_2:WMS(WindowManagerService)......
  • 关于在得帆云数据中台如何自定义函数
    UDF使用示例场景说明:使用udf编写一个函数Unit_Conversion(value)。在函数中根据value的值进行单位转化,并进行类型转化。1、导入依赖在pom.xml中将如下依赖进行导入。<dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec<......
  • 一些关于生成函数的推导
    该文只推导一些特殊序列的生成函数1.$\quad$对于序列{\(a_n\)},\(a_n=1^n\),其生成函数为\(g(x)=\sum_{n=0}^{\infty}{a_nx^n}\)。$\quad$现在推导其封闭形式,先将其乘一个\(x\),可以得到:\[x\cdotg(x)=\sum_{n=0}^{\infty}{a_nx^{n+1}}\]$\quad$两式相减可得......
  • C语言-数组名与&数组名的细节注意
    这篇博客将通过整型数组、字符数组、字符串放在数组中、以及二维数组的数组名与&数组名和各类特殊情况的题目讲解来使得我们对于指针与数组名具有更加深刻的了解。注意:sizeof(数组名)-数组名表示整个数组的-计算的是整个数组的大小&数组名-数组名表示整个数组,取出的是整......
  • 关于Quick.logger的一点点补充
    关于Quick.logger的一点点补充用Quick.logger一直有个需求需要用到对多种Provider更新时,自动更新TMemo之类TStrings相关的显示见面。一直想用Quick.Logger.Provider.StringList,然后指定页面里面的TMemo.lines来实现。但可以现象的是一定会因为同步问题导致失败。好在Quic......
  • pve(‌Proxmox Virtual Environment)-GPT4回答的关于CT容器的一些问题
    文章目录前言一、pve中的ct虚拟机是干嘛用的?**CT(容器)与VM(虚拟机)的区别****在PVE中使用CT的优点**二、怎么使用呢,比如我要启动一个nginx容器?1.**创建一个LXC容器**2.**启动并进入容器**3.**在容器中安装Nginx**4.**访问Nginx**5.**管理容器**三、创建一......
  • 关于智能编码助手【通义灵码】,开发者们这么说...
    自通义灵码发布以来,不停地有开发者朋友为我们送上通义灵码的测评反馈。关于通义灵码,开发者这样说墨问西东CEO池建强&墨问研发团队“通义灵码有一个强大的功能就是企业知识库检索增强,我们只需要上传团队的代码规范,通过#teamdocs,就可以按照代码规范文档来优化代码,工程师也能......
  • 关于智能编码助手【通义灵码】,开发者们这么说...
    自通义灵码发布以来,不停地有开发者朋友为我们送上通义灵码的测评反馈。关于通义灵码,开发者这样说墨问西东CEO池建强&墨问研发团队“通义灵码有一个强大的功能就是企业知识库检索增强,我们只需要上传团队的代码规范,通过#teamdocs,就可以按照代码规范文档来优化代码,工程师也能......
  • .Net8 部署到IIS 10 上需要注意的点
    现在大部分项目都上云了,而且是linux的系统,这部分我下一篇再讲,这次讲一下如何部署到iis10,首先项目点击发布-》目标框架.net8部署模式是独立,目标运行时是win-x64,你也可以选择部署模式为依赖框架,目标运行时选择可移植,但是这样的话要注意IIS的应用程序池选择启用32位应用程序,如果是......
  • 2024年关于短信轰炸机原理研究并实现的流程 (290021243
    偶然看到gitHub上面有短信轰炸机源码,于是产生了研究的想法。经过研究源码发现是通过抓包进行第三方网站抓包并且收集,最终进行post/get请求。携带header和token进行第三方网站模拟请求。于是在mac上面下载了fiddler进行代理配置开放了本机ip下的8888商品,用手机同时访问本机ip的......