# protoc-gen-lua-bin
**Repository Path**: hzucmj/protoc-gen-lua-bin
## Basic Information
- **Project Name**: protoc-gen-lua-bin
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-06-17
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
protoc-gen-lua
==============
**默认放在C盘目录C:\protoc-gen-lua-master\protoc-gen-lua-master, 生成lua放在 Lua/Protol 目录
修改说明:
1. 支持嵌套类(必需在使用类之前声明)
2. 支持int64, uint64
3. 解包的协议对象支持 tostring 操作
编译环境:
1. Python2.7.8
https://www.python.org/downloads/release/python-278/
2. 编译好的protobuf2.5下载地址
http://pan.baidu.com/s/1slEUfXb
注意:
1. 嵌套的proto 必须在当前 proto 之前声明
2. 安装python后, 需要在protobuf2.5 的python 目录下执行命令 Python setup.py install
**
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).