Sproto CSharp集成步骤

本文介绍如何使用云风的sproto工具处理proto文件,仅支持string、integer、boolen类型。通过sprotodump工具,可在Lua环境下将proto文件转换为C#代码,涉及命令行操作及IDE环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

云风sproto:https://github.com/cloudwu/sproto
周边工具:https://github.com/cloudwu/sproto/wiki
lvzixun的CSharp版本实现:https://github.com/lvzixun/sproto-Csharp

1:proto文件

只支持string,integer,boolen这三种基本类型。具体格式参见云风git

2:proto文件生成对应C#代码

需要使用工具:sprotodump(https://github.com/lvzixun/sprotodump)
相关命令为:

usage: lua sprotodump.lua <option> <sproto_file1 sproto_file2 ...> [[<out_option> <outfile>] ...] [namespace_option]

    option: 
        -cs              dump to cSharp code file
        -spb             dump to binary spb  file
        -go              dump to go code file
        -md              dump to markdown file
        
    out_option:
        -d <dircetory>               dump to speciffic dircetory
        -o <file>                    dump to speciffic file
        -p <package name>            set package name(only cSharp code use)

    namespace_option:
        -namespace       add namespace to type and protocol

为了能编译sprotodump lua代码,我这边下载了SciTE作为lua的IDE环境来执行lua程序:https://github.com/rjpcomputing/luaforwindows/releases

安装最新版本后,cmd中输入lua,弹出如下内容,即说明IDE环境安装成功
在这里插入图片描述
若cmd输入lua报错没有该命令,则说明系统环境变量没有添加lua目录。可以手动加入。
在这里插入图片描述

这样我们cd到sprotodump的目录下,输入命令即可导出C#代码。
为了方便我们还可以整个批处理文件,更加方便快捷。

补充

上述sprotodump我的lua5.1环境下会报错:nesting of [[…]] is deprecated near ‘[’
解决方法为:sprotodump.lua文件中README=[[XXXXXX]],中间加上=号
在这里插入图片描述
参考文档:https://yq.aliyun.com/ziliao/513897

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iningwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值