-
自解析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请邮件sunicdavy@qq.com
-
protobuf-net运行库
感觉不错请star, 谢谢!
博客: http://www.cppblog.com/sunicdavy
知乎: http://www.zhihu.com/people/xu-bo-62-87
邮箱: sunicdavy@qq.com