Google Protocol Buffer使用
关键语义
语义 名称 emun 枚举类 message java类定义 optional,require,repeated 数据类型,对象引用 import 引用其他proto文件 package 对应生成java类的包名 optional java_package 定义编译后产生的文件所在包结构的,即编写生成后的java文件所在的目录(多层次结构) optional java_outer_classname 编译生成的java文件名称 sevice 暂时不知道功能,后续查阅后补充
类型转换对应关系
protoc类型 Java类型 double double float float int32 int int64 long uint32 int uint64 long sint32 int sint64 long fixed32 int fixed64 long sfixed32 int sfixed64 long bool boolean string String bytes ByteString
编译命令
protoc --proto_path=IMPORT_PATH --cpp_out=DST_DIR --java_out=DST_DIR --python_out=DST_DIR path/to/file.proto
--proto_path=IMPORT_PATH 默认当前目录
--cpp_out 生成的c++文件目录
--java_out 生成的java文件目录
--pytho_out 生成的python文件目录
总结
protocol buffer的使用还是相对简单点,唯一麻烦的就是多了一个预编译的过程,将.proto文件转换成java文件或c++文件。但有的时候,这些过程是必须的。