Google Protocol Buffers( 比xml快20~100倍, 支持序列化数据 )
使用指南可以看这篇文章介绍:
http://www.cppblog.com/liquidx/
下载Protocol Buffers:
http://code.google.com/p/protobuf/downloads/list
在vc环境下使用则在解压缩文件中有一个vsprojects文件夹, 使用vs来编译出libprotobuf.lib,libprotoc.lib
设置你的扩展头文件包含目录为 "D:\protobuf-2.1.0\src"
按照指南, 首先我们定义一个test.proto文件内容如下:







然后用protoc编译器编译出c++模块, 这里有一个已经编译好的编译器, 你也可以从压缩包中的源代码编译出该编译器.
http://protobuf.googlecode.com/files/protoc-2.1.0-win32.zip
用这个指令编译
protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/test.proto
然后我们得到了
test.pb.h
test.pb.cc
2个c++文件
现在我们可以在项目中使用它了:











































输出:
ID : 123
name : liquidx
e-mail : liquidx@163.com
产生的person.pb内容如下(28字节):
liquidx{liquidx@163.com
试用完毕:
感觉Protocol Buffers挺好用的, 项目的某些xml部分可以使用它来替代,这样在数据读取和操作上比xml更加方便直接, 且效率高效!
用它也可以在网络处理上得到一些好处!
相关参考:
http://www.cppblog.com/liquidx/archive/2009/06/23/88377.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了