protobuf学习:Windows上使用VS 编译与使用例子(C++)

本文详细介绍了在Windows上使用Visual Studio(VS)编译Protocol Buffers(protobuf)的步骤,包括下载protobuf源码、安装CMake,以及配置和生成项目。通过编译,你可以得到libprotobuf、protoc和libprotoc库。此外,还展示了C++使用protobuf的示例代码,帮助开发者快速入门protobuf在C++中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

protobuf学习:Windows上使用VS 编译与使用例子(C++)

介绍

protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。

Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。

你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结构,而不破坏由旧数据结构编译的已部署程序。

简单来讲, ProtoBuf 是结构数据序列化[1] 方法,可简单类比于 XML[2],其具有以下特点:

语言无关、平台无关。即 ProtoBuf 支持 Java、C++、Python 等多种语言,支持多个平台
高效。即比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单
扩展性、兼容性好。你可以更新数据结构,而不影响和破坏原有的旧程序

序列化[1]:将结构数据或对象转换成能够被存储和传输(例如网络传输)的格式,同时应当要保证这个序列化结果在之后(可能在另一个计算环境中)能够被重建回原来的结构数据或对象。
更为详尽的介绍可参阅 维基百科。
类比于 XML[2]:这里主要指在数据通信和数据存储应用场景中序列化方面的类比,但个人认为 XML 作为一种扩展标记语言和 ProtoBuf 还是有着本质区别的。

编译

准备protobuf源码

首先需要下载源代码:
https://github.com/protocolbuffers/protobuf/releases
在这里插入图片描述

准备CMake

需要安装Cmake,如没有安装:
https://cmake.org/download/
在这里插入图片描述在这里插入图片描述

配置

第一步:填好输入,输出,注意source code 这里一定要选到cmake那个夹。
在这里插入图片描述
第二步,点击config:
注意选择正确的VS版本
在这里插入图片描述
第三步:点击generate,等待完成。使用VS打开这个项目。
在这里插入图片描述

在这里插入图片描述编译libprotobuf,protoc,libprotoc这三个项目,在项目上右键,选择设为启动项目,再选择生成:
在这里插入图片描述
在这里插入图片描述
编译好后去sln所在文件夹下的Debug文件夹,如果出现这些就对了:
在这里插入图片描述

C++ demo

在这里插入图片描述
在这里插入图片描述完成后会多两个文件:
在这里插入图片描述
在这里插入图片描述C++ 的Demo代码参考:
https://www.cnblogs.com/WindSun/p/12543066.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值