美文网首页
Protocolbuf不同语言生成

Protocolbuf不同语言生成

作者: 岑吾 | 来源:发表于2021-09-30 10:17 被阅读0次

protoc

Protocol Buffers可以使用Google提供的protoc来生成不同语言的版本.

protoc -I=$SRC_DIR --type_out=$DST_DIR $SRC_DIR/file.proto
  • $SRC_DIR: proto源文件目录
  • type_out:支持的输出语言
  • $DST_DIR: 输出目录
  • file.proto: proto文件名

type_out支持的输出类型有:

类型 语言 输出文件
cpp_out C++ file.pb.cc,file.pb.h
csharp_out C# file.cs
go_out Go file.pb.go
java_out Java file..java

js/ts

对于js/ts的生成,可以使用protobufjs插件来完成

npm install -g protobufjs
# 生成js
pbjs -t static-module -w commonjs -o  file.js file.proto

# 生成ts
pbts -o file.ts file.js

脚本实现多proto生成

自己用python 3.7写了一个proto生成的脚本.https://github.com/zngw/protocol

将所有要生成proto源文件放在proto_raw目录中,可以是多个文件

//登录请求
message GameLoginReq {
    string account = 1;     // 登录帐号
    string password = 2;    // 登录密码
}

//登录返回
message GameLoginResp {
    int32 result = 1;   // 返回结果.
}

然后使用不同的to_xx.py生成不同的语言.生成的文件在out目录中


相关文章

网友评论

      本文标题:Protocolbuf不同语言生成

      本文链接:https://www.haomeiwen.com/subject/oixenltx.html