protobuf学习笔记

参考文档:
1、https://developers.google.com/protocol-buffers/docs/cpptutorial?hl=zh-CN
2、https://developers.google.com/protocol-buffers/docs/proto?hl=zh-CN
3、https://developers.google.com/protocol-buffers/docs/reference/cpp/index?hl=zh-CN
4、https://developers.google.com/protocol-buffers/docs/reference/cpp-generated?hl=zh-CN
5、https://developers.google.com/protocol-buffers/docs/encoding?hl=zh-CN

1、用.proto文件描述消息的结构,就是描述这个消息里有哪些个字段

2、协议缓冲区编译器将根据.proto文件生成相应的C++类(这个类实现了二进制数据的编码和解析)

3、.proto文件编写:
首先是包的声明,这个在C++中将会转换为命名空间(namespaces)
接着是消息字段的声明,字段类型可以是double、float、int32、int64、uint32、uint64、sint32、sint64、fixed32、fixed64、sfixed32
、sfixed64、bool、string、bytes,还有自定义消息类型
消息体内可嵌套定义消息

4、消息字段有三种修饰符required(必须的),optional(可选的,使用填入值或默认值),repeated(可重复的,包括0次,可看成动态数组)

5.生成C++代码 运行命令 protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto,当然要替换相应的变量

编译后将生成对应文件的.pb.h和.pb.cc文件

6、.proto文件内容要严格区分大小写

7、用"//"进行行注释

8、每个消息字段使用一个唯一tag来标记,可理解为放置的位置

9、可使用import语句导入其它的.proto文件


10、可给文件指定一个包名 package ...;



php扩展

https://github.com/chobie/php-protocolbuffers


http://dofound.blog.163.com/blog/static/17114324620136224934685/

你可能感兴趣的:(c++服务器端开发,c++,c++游戏开发)