这篇指南讲述如何使用Protocol Buffers来结构化你的Protocol Buffer数据,包括.proto文件语法以及如何从.proto文件生成你的访问类型。本文主要涵盖了proto3的语法,proto2的语法参见Proto2 Language Guide。
孟斌的小站
技术博客与学习记录
本教程提供protocol buffer在C++程序中的基础用法。通过创建一个简单的示例程序,向你展示如何:
本章节实际上是介绍Protocol Buffer编译器从给定的protocol定义中生成的C++代码。所有proto2和proto3生成的代码不同之处都会高亮标出 --- 需要注意的是这些不同之处只是生成的代码中的不同,而不是消息类/接口(同一版本的编译器生成的是一样的)的不同。开始之前,你应该先了解proto2 language guide或proto3 language guide。
| 包名 | 说明 |
|---|---|
| google::protobuf | Protocol Buffer运行时库核心组件。 |
| google::protobuf::io | I/O操作辅助类。 |
| google::protobuf::util | 工具类。 |
| google::protobuf::compiler | Protocol Buffer编译器实现。 |
google::protobuf
Protocol Buffer运行时库核心组件。
本文描述处理Protocol Buffer常用到的一些设计模式。你也可以给Protocol Buffers discussion group发送设计或使用问题。
Arena分配是仅C++有的功能,在使用Protocol Buffer时,它可以帮助你优化你的内存使用,提高性能。在.proto文件中启用Arena分配会在生成的C++代码中添加处理Arena分配的额外代码。关于Arena分配API的细节,详见Arena Allocation Guide。
本文主要介绍Protocol Buffer类在C++如何工作,当然也包含Protocol Buffer本身应用文档。本文包含:
本文主要是记录我搭建go playground的步骤。
比特币工作在应用层,它的底层是一个P2P网络。比特币的P2P网络是非常简单的,所有节点都是对等的,不会出现某些P2P网络中所谓的超级节点或者中心节点。
哈希指针(Hash Pointers)
对于一个结构体而言,指向它的指针存储的是它在内存中的首地址;而指向它的哈希指针,不仅保存这它的首地址,还保存着该结构体内容的哈希值。通过哈希指针,不仅可以找到该结构体,还能查验该结构内容是否被篡改过。