• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1This directory contains example code that uses Protocol Buffers to manage an
2address book.  Two programs are provided, each with three different
3implementations, one written in each of C++, Java, and Python.  The add_person
4example adds a new person to an address book, prompting the user to input
5the person's information.  The list_people example lists people already in the
6address book.  The examples use the exact same format in all three languages,
7so you can, for example, use add_person_java to create an address book and then
8use list_people_python to read it.
9
10You must install the protobuf package before you can build these.
11
12To build all the examples (on a unix-like system), simply run "make".  This
13creates the following executable files in the current directory:
14  add_person_cpp     list_people_cpp
15  add_person_java    list_people_java
16  add_person_python  list_people_python
17
18If you only want to compile examples in one language, use "make cpp"*,
19"make java", or "make python".
20
21All of these programs simply take an address book file as their parameter.
22The add_person programs will create the file if it doesn't already exist.
23
24These examples are part of the Protocol Buffers tutorial, located at:
25  https://developers.google.com/protocol-buffers/docs/tutorials
26
27* Note that on some platforms you may have to edit the Makefile and remove
28"-lpthread" from the linker commands (perhaps replacing it with something else).
29We didn't do this automatically because we wanted to keep the example simple.
30
31## Go ##
32
33The Go example requires a plugin to the protocol buffer compiler, so it is not
34build with all the other examples.  See:
35  https://github.com/golang/protobuf
36for more information about Go protocol buffer support.
37
38First, install the Protocol Buffers compiler (protoc).
39Then, install the Go Protocol Buffers plugin
40($GOPATH/bin must be in your $PATH for protoc to find it):
41  go get github.com/golang/protobuf/protoc-gen-go
42
43Build the Go samples in this directory with "make go".  This creates the
44following executable files in the current directory:
45  add_person_go      list_people_go
46To run the example:
47  ./add_person_go addressbook.data
48to add a person to the protocol buffer encoded file addressbook.data.  The file
49is created if it does not exist.  To view the data, run:
50  ./list_people_go addressbook.data
51
52Observe that the C++, Python, and Java examples in this directory run in a
53similar way and can view/modify files created by the Go example and vice
54versa.
55