文章目录概述Protobuf简介Protobuf使用创建 .proto文件编译proto文件编写writer和readerProtobuf总结 概述我们在日常开发过程中进行网络通信和数据交换等应用场景中经常使用的技术是json或xml,最近接触了Google的Protobuf。在查阅相关资料学习ProtoBuf以及研读其源码之后,发现其在效率、兼容性等方面非常出色。在以后的项目技术选...
编译指令 转载 mob604756ee0e6c 2015-01-13 15:30:00 394阅读 lua使用protobuf的map结构lua应用实例 一、lua数据结构及内存占用分析1.基础数据结构lua的基本数据表示是type+union的方式,根据不同类型映射到union的不同结构上面,统一的表示结构lua_TValue:typedef union Value { GCObject *gc; /* collectable obj...
可以用SVN从服务器上(http://protobuf.googlecode.com/svn/trunk)下载最新的protobuf。我使用的是protobuf-2.4.1。 进入protobuf-2.4.1/vsprojects利用VS2010进行编译。生成的protoc.exe放到protobuf-2.4.1/src下。如果不放,后面无法安装python版的protobuf。 4、编译python版本的protobuf 在protobuf-2.4.1\pytho...
接着,在Lua里我们就可以通过pb文件来读写protobuf协议了: localpb=require"pb"-- 载入 pb.dllassert(pb.loadfile"addressbook.pb")-- 载入刚才编译的pb文件localperson={-- 我们定义一个addressbook里的 Person 消息name="Alice",id=12345,phone={{number="1301234567"},{number="87654321",type="WORK"},}...
到LuaJIT-2.0.4\src 目录中寻找lua51.dll lua51.lib luajit.exe这三个文件是否存在,如果上面编译成功,那这三个文件是一定有的。 3、下载并编译 protobuf-2.4.1 在protobuf-2.4.1\vsprojects 目录中打开 protobuf.sln ,如下图 在Visual Studio 中将 下图中 红框 中的 test 项目 从项目中移除,要来没用...
然后根据平台分别编译.安卓下NDK,cmake,ninja,AndroidSDK,JDK统统安装好,点击make_android_lua53.bat,PC下的先安装好cmake和c++的vs环境,点击make_win64_lua53.bat,MAC下先"chmod 777 make_ios_lua53.sh",然后执行 "./make_ios_lua53.sh"。编完了以后plugin_lua53\Plugins下就有各平台的库文件啦。
protoc自带了谷歌的descriptor.proto的编译结果,所以谷歌的一些基础类型你可以直接encode/decode了,虽然对用户而言应该没什么用2333 啊大概就是这么多吧,大家用用看有什么新问题好了,测试上Lua 5.1/2/3 LuaJIT 2.0/1 都过了。 对了项目地址:github.com/starwing/lua 拖了半年的坑终于填了5555 实在是工作太忙了...
另外,为了得到schema文件的二进制版本(一般后缀名是.pb的文件),你需要官方protobuf项目提供的schema编译器二进制protoc.exe工具,如果在你的平台下获得这个工具太麻烦,或者你希望能有一个小体积的protobuf编译工具,你可以使用项目自带的另一个独立的纯 Lua库:protoc.lua文件。该文件提供了纯Lua实现的schema文件编译器,...
注意版本问题 我原来是1.14版本,编译的时候一直报错,里面的报错信息是 这个module依赖于1.17以上版本...
6,进入protobuf-2.5.0\vsprojects,用vs2010打开protobuf.sln,选择protoc为启动项,编译生成protoc.exe 7,将protoc.exe拷贝到protoc-gen-lua\example 8,在protoc-gen-lua\plugin目录下新建protoc-gen-lua.bat文件并输入内容@python "%~dp0protoc-gen-lua" ...