| This directory contains example code that uses Protocol Buffers to manage an |
| address book. Two programs are provided, each with three different |
| implementations, one written in each of C++, Java, and Python. The add_person |
| example adds a new person to an address book, prompting the user to input |
| the person's information. The list_people example lists people already in the |
| address book. The examples use the exact same format in all three languages, |
| so you can, for example, use add_person_java to create an address book and then |
| use list_people_python to read it. |
| |
| You must install the protobuf package before you can build these. |
| |
| To build all the examples (on a unix-like system), simply run "make". This |
| creates the following executable files in the current directory: |
| add_person_cpp list_people_cpp |
| add_person_java list_people_java |
| add_person_python list_people_python |
| |
| If you only want to compile examples in one language, use "make cpp"*, |
| "make java", or "make python". |
| |
| All of these programs simply take an address book file as their parameter. |
| The add_person programs will create the file if it doesn't already exist. |
| |
| These examples are part of the Protocol Buffers tutorial, located at: |
| https://developers.google.com/protocol-buffers/docs/tutorials |
| |
| * Note that on some platforms you may have to edit the Makefile and remove |
| "-lpthread" from the linker commands (perhaps replacing it with something else). |
| We didn't do this automatically because we wanted to keep the example simple. |
| |
| ## Go ## |
| |
| The Go example requires a plugin to the protocol buffer compiler, so it is not |
| build with all the other examples. See: |
| https://github.com/golang/protobuf |
| for more information about Go protocol buffer support. |
| |
| First, install the Protocol Buffers compiler (protoc). |
| Then, install the Go Protocol Buffers plugin |
| ($GOPATH/bin must be in your $PATH for protoc to find it): |
| go get github.com/golang/protobuf/protoc-gen-go |
| |
| Build the Go samples in this directory with "make go". This creates the |
| following executable files in the current directory: |
| add_person_go list_people_go |
| To run the example: |
| ./add_person_go addressbook.data |
| to add a person to the protocol buffer encoded file addressbook.data. The file |
| is created if it does not exist. To view the data, run: |
| ./list_people_go addressbook.data |
| |
| Observe that the C++, Python, and Java examples in this directory run in a |
| similar way and can view/modify files created by the Go example and vice |
| versa. |