# protoc_gen_lua **Repository Path**: liyonghelpme/protoc_gen_lua ## Basic Information - **Project Name**: protoc_gen_lua - **Description**: 用于性能比较 - **Primary Language**: Lua - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-11-20 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##改造后的 protoc-gen-lua 用于和 https://git.oschina.net/liyonghelpme/FastProtocolBufForLua.git 项目进行性能 比较 进入protobuf 目录 make 生成 pb.so lua test2.lua 执行测试样例 protoc-gen-lua ============== Google's Protocol Buffers project, ported to Lua "[Protocol Buffers](http://code.google.com/p/protobuf/)" is a binary serialization format and technology, released to the open source community by Google in 2008. There are various implementations of Protocol Buffers and this is for Lua. ## Install Install python runtime and the protobuf 2.3 for python. checkout the code. Compile the C code: `$cd protobuf && make` Make a link to protoc-gen-lua in your $PATH: `$cd /usr/local/bin && sudo ln -s /path/to/protoc-gen-lua/plugin/protoc-gen-lua` Then you can compile the .proto like this: `protoc --lua_out=./ foo.proto` ## Quick Example You write a .proto file like this: person.proto : ``` message Person { required int32 id = 1; required string name = 2; optional string email = 3; } ``` Then you compile it. Then, make sure that protobuf/ in package.cpath and package.path, you use that code like this: ``` require "person_pb" -- Serialize Example local msg = person_pb.Person() msg.id = 100 msg.name = "foo" msg.email = "bar" local pb_data = msg:SerializeToString() -- Parse Example local msg = person_pb.Person() msg:ParseFromString(pb_data) print(msg.id, msg.name, msg.email) ``` The API of this library is similar the protobuf library for python. For a more complete example, read the [python documentation](http://code.google.com/apis/protocolbuffers/docs/pythontutorial.html). **默认放在C盘目录C:\protoc-gen-lua-master\protoc-gen-lua-master, 生成lua放在 Lua/Protol 目录 使用环境: Python 2.7.8 + protobuf-2.5.0**
**注意嵌套的proto 必须在当前 proto 之前声明**