xuxinyi d3a07760a2 first commit 4 meses atrás
..
extra_file d3a07760a2 first commit 4 meses atrás
proto_exe d3a07760a2 first commit 4 meses atrás
scripts d3a07760a2 first commit 4 meses atrás
readme.md d3a07760a2 first commit 4 meses atrás

readme.md

[toc]

1.目录文档介绍

  • extra_file

其它的一些扩展文件,里面有protoc模块的实现,只是里面一些部分还没有实现,待后面扩展实现。

  • proto_exe

protobuffer需要先创建一个模型结构,再编译成二进制pb文件,这个文件夹就是存储编译的exe文件和测试创建的模型文件。具体实现见下文。

  • scripts

测试demo的脚本文件和pb文件。

2.具体实现介绍

1. 创建模型结构

如proto_exe目录下,我们创建了tracker.protoproto3协议结构文件和addressbook.proto协议结构文件。结构的建议是需要遵循特定的语法的,详细的语法请参考:Language Guide | Protocol Buffers | Google Developers

image-20210825134943787

2.编译

模型创建好后,需要将模型编译成二进制数据。

我们在proto_exe目录下打开cmd控制台,如果我们要编译tracker.proto文件,在控制台输入protoc-3.9.2-windows-x86_64.exe --descriptor_set_out=tracker.pb tracker.proto,即可编译输出pb文件。

3.运行脚本

将scripts文件夹下面的文件和脚本下载到模块就可以成功编解码了。我们的库是移植lua_protobuffer的,具体可参考:

starwing/lua-protobuf: A Lua module to work with Google protobuf (github.com)的实现。