-
自解析proto 闭源 非标准proto
-
无法向后兼容 不支持proto3
-
解析速度慢
-
使用官方protoc编译器插件架构编写 标准proto
-
向后兼容 支持proto3的基本语法特性( 暂时不支持 map, oneof等proto3特有特性 )
-
解析速度快
- 不建议使用嵌套结构及枚举, 不保证导出结果的正确性
go get github.com/davyxu/protoc-gen-sharpnet
go install github.com/davyxu/protoc-gen-sharpnet
-
兼容protogen输出的格式
protoc --plugin=protoc-gen-sharpnet=path\to\protoc-gen-sharpnet --sharpnet_out . --proto_path "." PROTO_FILE
-
扩展支持hasfield
protoc --plugin=protoc-gen-sharpnet=path\to\protoc-gen-sharpnet --sharpnet_out use_hasfield:. --proto_path "." PROTO_FILE
P.S. HasField特性是C++库支持功能, 用于判断某字段是否被序列化(设置)过. 性能上有bool赋值的轻度损耗以及内存轻度损耗
本品在商业项目中已大规模使用, 请放心使用.
若发现bug请邮件[email protected]
-
protobuf-net运行库
-
protogen工具 https://github.com/floatinghotpot/protogen
机械教条([email protected]) 提供use_hasfield无效的bug,及fixed等类型的增强
感觉不错请star, 谢谢!
博客: http://www.cppblog.com/sunicdavy