OLD | NEW |
1 This directory contains example code that uses Protocol Buffers to manage an | 1 This directory contains example code that uses Protocol Buffers to manage an |
2 address book. Two programs are provided, each with three different | 2 address book. Two programs are provided, each with three different |
3 implementations, one written in each of C++, Java, and Python. The add_person | 3 implementations, one written in each of C++, Java, and Python. The add_person |
4 example adds a new person to an address book, prompting the user to input | 4 example adds a new person to an address book, prompting the user to input |
5 the person's information. The list_people example lists people already in the | 5 the person's information. The list_people example lists people already in the |
6 address book. The examples use the exact same format in all three languages, | 6 address book. The examples use the exact same format in all three languages, |
7 so you can, for example, use add_person_java to create an address book and then | 7 so you can, for example, use add_person_java to create an address book and then |
8 use list_people_python to read it. | 8 use list_people_python to read it. |
9 | 9 |
10 You must install the protobuf package before you can build these. | 10 You must install the protobuf package before you can build these. |
(...skipping 17 matching lines...) Expand all Loading... |
28 "-lpthread" from the linker commands (perhaps replacing it with something else). | 28 "-lpthread" from the linker commands (perhaps replacing it with something else). |
29 We didn't do this automatically because we wanted to keep the example simple. | 29 We didn't do this automatically because we wanted to keep the example simple. |
30 | 30 |
31 ## Go ## | 31 ## Go ## |
32 | 32 |
33 The Go example requires a plugin to the protocol buffer compiler, so it is not | 33 The Go example requires a plugin to the protocol buffer compiler, so it is not |
34 build with all the other examples. See: | 34 build with all the other examples. See: |
35 https://github.com/golang/protobuf | 35 https://github.com/golang/protobuf |
36 for more information about Go protocol buffer support. | 36 for more information about Go protocol buffer support. |
37 | 37 |
38 First, install the the Protocol Buffers compiler (protoc). | 38 First, install the Protocol Buffers compiler (protoc). |
39 Then, install the Go Protocol Buffers plugin | 39 Then, install the Go Protocol Buffers plugin |
40 ($GOPATH/bin must be in your $PATH for protoc to find it): | 40 ($GOPATH/bin must be in your $PATH for protoc to find it): |
41 go get github.com/golang/protobuf/protoc-gen-go | 41 go get github.com/golang/protobuf/protoc-gen-go |
42 | 42 |
43 Build the Go samples in this directory with "make go". This creates the | 43 Build the Go samples in this directory with "make go". This creates the |
44 following executable files in the current directory: | 44 following executable files in the current directory: |
45 add_person_go list_people_go | 45 add_person_go list_people_go |
46 To run the example: | 46 To run the example: |
47 ./add_person_go addressbook.data | 47 ./add_person_go addressbook.data |
48 to add a person to the protocol buffer encoded file addressbook.data. The file | 48 to add a person to the protocol buffer encoded file addressbook.data. The file |
49 is created if it does not exist. To view the data, run: | 49 is created if it does not exist. To view the data, run: |
50 ./list_people_go addressbook.data | 50 ./list_people_go addressbook.data |
51 | 51 |
52 Observe that the C++, Python, and Java examples in this directory run in a | 52 Observe that the C++, Python, and Java examples in this directory run in a |
53 similar way and can view/modify files created by the Go example and vice | 53 similar way and can view/modify files created by the Go example and vice |
54 versa. | 54 versa. |
OLD | NEW |