proto buf 是一种用于序列化和反序列化的工具。它比较灵活、高效,它可以跨语言和跨平台。相较于XML,它更快、生成的文件更小、格式更清晰。
这个关键字就像c++的class关键字
列变量格式
message SongServerRequest { required string song_name = 1; // 关键字 类型 name = nubmer; }列变量第一个关键字表这个列变量是干什么的或者一些特征,第二个表示是什么类型列表量,左边的数字表示位于解析后的第几个函数
Message 命名风格使用驼峰法 列变量名使用下划线法 枚举变量,枚举类型使用驼峰法,成员变量名使用大写下划线方式 RPC 类型全部使用驼峰法
message SongServerRequest { required string song_name = 1; } const string& song_name() { ... } void set_song_name(const string& x) { ... } enum Foo { FIRST_VALUE = 0; SECOND_VALUE = 1; } RPC : service FooService { rpc GetSomething(FooRequest) returns (FooResponse); }这个命令,-I 指protoc 选择protoc文件的路径,这个一般用于如果目标 xxxpath/xxx.protoc 文件包含了其他protoc文件,那么这个 -I 路径就是寻找其他protoc文件的路径。-cpp_out=xxxpath 的意思就是生成cpp的代码,生成代码路径是xxxpath
protoc -I = xxxpath -cpp_out = xxxpath xxxpath/xxx.protoc