miduo_protocol/tools/protoc-gen-lua/README.md

63 lines
1.4 KiB
Markdown
Raw Normal View History

2018-12-27 17:56:49 +08:00
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).