Ubuntu中快速搭建并使用protobuf

使用 protobuf 这款序列化协议是有一定的上手难度的,我在这里不讲复杂的使用和操作,只想让大家快速的使用这个工具,剩下的内容可以参考其他的博客。

Ubuntu 中直接利用 apt 工具下载:

> sudo apt-get install protobuf-compiler
> sudo apt-get install libprotobuf-dev

命令提示默认全部“Yes”。

然后可以验证一下 protoc 是否安装成功,正常显示则安装成功。

> protoc --version
libprotoc 3.6.1

简单的使用一下,我先编写出 user.proto 文件如下:

syntax = "proto3";

package chat;

message LoginRequest 
{
  uint64 id = 1;
  string username = 2;
  string password = 3;
  bool state = 4;
}

然后在新建一个文件 pb。

> mkdir pb

在当前目录下利用 protoc 工具生成对应语言的 proto 代码,我以 C++ 为例:

> protoc --cpp_out=./pb user.proto

编写测试代码如下:

#include "pb/user.pb.h"
#include <iostream>

using ChatReq = chat::LoginRequest;

int main()
{
  ChatReq req;
  req.set_id(10);
  req.set_username("fan");
  assert(req.id() == 10);
  assert(req.username() == "fan");
  return 0;
}

执行下面的指令生成 a.out 文件,./a.out 运行不报错误即可。

> g++ main.cc pb/*.cc pb/*.h -std=c++11 -lprotobuf -lpthread

这里不要忘记链接 lpthread 库,不然会报错。

整体的目录结构如下:

- 当前目录
  - main.cc
  - pb/
    - user.pb.cc
    - user.pb.h
  - user.proto

finished !!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值