zoukankan      html  css  js  c++  java
  • protobuf解析2proto文件格式

    选项参数
    optimize_for: 它可取SPEED,CODE_SIZE,LITE_RUNTIME三者之一作为参数值,当文件中没有该选项时系统默认其值为SPEED。
    上述三个选项的作用如下:
    SPEED protobuf编译器将通过在消息类型上执行序列化、语法分析及其他通用的操作。这种代码是最优的。
    CODE_SIZE protobuf编译器将会产生最少量的类,通过共享或基于反射的代码来实现序列化、语法分析及各种其它操作。采用该方式产生的代码将比SPEED要少得多,但是操作要相对慢些。当然实现的类及其对外的API与SPEED模式都是一样的。这种方式经常用在一些包含大量的.proto文件而且并不盲目追求速度的应用中。
    LITE_RUNTIME protobuf编译器依赖于运行时核心类库来生成代码(即采用libprotobuf-lite 替代libprotobuf)。这种核心类库由于忽略了一些描述符及反射,要比全类库小得多。这种模式经常在移动手机平台应用多一些。编译器采用该模式产生的方法实现与SPEED模式不相上下,产生的类通过实现MessageLite接口,但它仅仅是Messager接口的一个子集。
    参考并致谢
    1.protobuf协议语言指南 - http://blog.csdn.net/zhaozheng7758/article/details/6749047
  • 相关阅读:
    《学习之道》第十章方法空间能力是可以后天形成的
    《学习之道》第十章总结
    《学习之道》第十章视觉和空间记忆的原因
    数据结构之链表:双指针问题
    单例模式
    Java的锁
    Python锁
    排序算法小结
    命中索引
    反射
  • 原文地址:https://www.cnblogs.com/motadou/p/1922568.html
Copyright © 2011-2022 走看看