protobuf 是做什么的?

专业的解答:

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。简单的说就是干和xml一样的事,把某种数据结构的信息,以某种格式保存起来。主要用于数据存储、传输协议格式等场合

protobuf 的优缺点

protobuf 如何安装?

下载安装包

下载地址

1、首先确定自己当前linux版本(当前版本为x86_64)

uname -a
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

2、选择相应的版本下载并解压到当前目录

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip

unzip protoc-3.14.0-linux-x86_64.zip

3、安装 protoc

解压protoc压缩包后,可以看到 readme.txt文件

Protocol Buffers - Google's data interchange format
Copyright 2008 Google Inc.
https://developers.google.com/protocol-buffers/ This package contains a precompiled binary version of the protocol buffer
compiler (protoc). This binary is intended for users who want to use Protocol
Buffers in languages other than C++ but do not want to compile protoc
themselves. To install, simply place this binary somewhere in your PATH. If you intend to use the included well known types then don't forget to
copy the contents of the 'include' directory somewhere as well, for example
into '/usr/local/include/'. Please refer to our official github site for more installation instructions:
https://github.com/protocolbuffers/protobuf

大致意思是安装protoc,只需将bin目录下的二进制文件放在某个位置就行,如果你打算用其中的包含的其他类型,同时需要将include目录的内容也复制到某个地方,例如输入/usr/local/include/

我们把protoc放在/usr/local/bin可执行程序目录中,这样全局都可以访问到,同时把include目录的内容也复制到/usr/local/include/

# 移动安装proto (cd到解压目录bin中后执行)
mv proto /usr/local/bin # 把`include`目录的内容复制(cd到解压目录include中后执行)
cp google /usr/local/include
protoc --version
libprotoc 3.14.0

安装完成!

linux安装protoc的更多相关文章

  1. 搜狗输入法linux安装 以及 12个依赖包下载链接分享

    搜狗输入法linux安装版,先安装各种依赖包,大概12个依赖,可能中途还需要其他依赖,可以效仿解决依赖问题.如图这12个文件要是手动点击下载,那也太笨点了,我们要用shell命令批量下载.命令如下:w ...

  2. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  3. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  4. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  5. Symantec Backup Exec 2010 Agent For Linux安装

    以前写过一篇文章介绍过Symantec Backup Exec 2012 Agent For Linux安装安装,今天介绍一下Symantec Backup Exec 2010 Agent For L ...

  6. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  7. linux 安装jdk

    1.Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也 ...

  8. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

  9. 自己瞎捣腾的Win7下Linux安装之路-----理论篇

    接着上回说道,我把双系统做好啦,开心.... 之后我就在想几个问题: 1.在Ubuntu装好后,重启电脑却还是win7,等我用EasyBCD之后,才可选择使用装好的Ubuntu呢? 2.在用EasyB ...

  10. Debian 7(Linux) 安装SSH使用SecureCRT连接配置

    1 Debian 安装 ssh2 首先确保你的Debian或者linux安装ssh并开启ssh服务 Debian和ubuntu的安装方法一样,只要源OK的话,可以直接安装 apt-get instal ...

随机推荐

  1. Qt/C++音视频开发61-多屏渲染/一个解码渲染到多个窗口/画面实时同步

    一.前言 多屏渲染就是一个解码线程对应多个渲染界面,通过addrender这种方式添加多个绘制窗体,我们经常可以在展会或者卖电视机的地方可以看到很多电视播放的同一个画面,原理应该类似,一个地方负责打开 ...

  2. Qt编写ffmpeg本地摄像头显示(16路本地摄像头占用3.2%CPU)

    一.前言 内核ffmpeg除了支持本地文件.网络文件.各种视频流播放以外,还支持打开本地摄像头,和正常的解析流程一致,唯一的区别就是在avformat_open_input第三个参数传入个AVInpu ...

  3. Qt编写可视化大屏电子看板系统27-模块5负荷分布

    一.前言 负荷分布模块包括工序计划负荷.当日负荷.负荷百分比三个子模块,工序计划负荷用表格的形式展示不同工序在不同日期的负荷工作时长,比如组装工序在 2022-02-10 运行了88小时,一般表格显示 ...

  4. error: undefined reference to `cv::imread(cv::String const&, int)' 解决方法

    方法1 原文链接:https://blog.csdn.net/WhiteLiu/article/details/72901520 编译时出现下列错误: undefined reference to ' ...

  5. 即时通讯技术文集(第33期):IM开发综合技术合集(Part6) [共12篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第33 期. [- 1 -] IM开发技术学习:揭秘微信朋友圈这种信息推流背后的系统设计 [链接 ...

  6. 快速定位Linux 内核驱动中GPIO冲突

    #全开开kernel log echo "8" > /proc/sys/kernel/printk #打开gpiolib 动态调试 echo 'file gpiolib.c ...

  7. Python语言中进程、线程、协程执行效率分析

  8. 《入梦》Revisited

      寝室里有本<美丽新世界>(Brave New World),书页翻过灯塔里上升的螺旋阶梯,还有大概三分之一的篇幅是<重返美丽新世界>(Brave New World Rev ...

  9. 连接Redis 错误的解决方法: It was not possible to connect to the redis server(s); to create a disconnected multiplexer

    The error you are getting is usually a sign that you have not set abortConnect=false in your connect ...

  10. ctfshow 红包题第七弹 .git

    .git源码泄露 发现有后们 flag在上级目录里面 直接Letmein=show_source('../flag.txt');就出来了