linux下安裝protobuf教程+示例(詳細)
package lm;
message helloworld
{
required int32 id = 1; // ID
required string str = 2; // str
optional int32 opt = 3; //optional field
}
將訊息檔案msg.proto對映成cpp檔案
protoc -I=. --cpp_out=. msg.proto
可以看到生成了
msg.pb.h 和msg.pb.cc
6> 寫序列化訊息的程序
write.cc
編譯 write.cc g++ msg.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf` -lpthread 執行write ./write, 可以看到生成了log檔案 7> 寫反序列化的程序 reader.cc#include "msg.pb.h" #include <fstream> #include <iostream> using namespace std; int main(void) { lm::helloworld msg1; msg1.set_id(101); msg1.set_str("hello"); fstream output("./log", ios::out | ios::trunc | ios::binary); if (!msg1.SerializeToOstream(&output)) { cerr << "Failed to write msg." << endl; return -1; } return 0; }
編譯:g++ msg.pb.cc reader.cc -o reader `pkg-config --cflags --libs protobuf` -lpthread 執行./reader 輸出 : 101 hello#include "msg.pb.h" #include <fstream> #include <iostream> using namespace std; void ListMsg(const lm::helloworld & msg) { cout << msg.id() << endl; cout << msg.str() << endl; } int main(int argc, char* argv[]) { lm::helloworld msg1; { fstream input("./log", ios::in | ios::binary); if (!msg1.ParseFromIstream(&input)) { cerr << "Failed to parse address book." << endl; return -1; } } ListMsg(msg1); }
8> 寫Makefile檔案
all: write reader clean: rm -f write reader msg.*.cc msg.*.h *.o log proto_msg: protoc --cpp_out=. msg.proto write: msg.pb.cc write.cc g++ msg.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf` reader: msg.pb.cc reader.cc g++ msg.pb.cc reader.cc -o reader `pkg-config --cflags --libs protobuf`
相關推薦
linux下安裝protobuf教程+示例(詳細)
1 在網站 http://code.google.com/p/protobuf/downloads/list上可以下載 Protobuf 的原始碼。然後解壓編譯安裝便可以使用它了。 安裝步驟如下所示: tar -xzf protobuf-2.1.0.tar.gz cd
Linux下安裝maven私服(nexus3)
一、所需軟體 jdk8,nexus3 Nexus下載地址:https://www.sonatype.com/download-
【Centos7】如何在Linux下安裝和使用gc++(最詳細版)
【前言】最近在學習基於Linux的C++程式設計,但是在安裝編譯器的過程中卻遇到了不少問題,網上的一些回答也不夠詳細,因此有了這篇文章。【Centos7】注意,我是在Linux虛擬機器下的centos7中完成的以下教程。【root許可權】開啟終端,或者按Ctrl+Alt+F2
linux下安裝protobuf及cmake編譯
light present mini require fetching AS exp web .gz 一.protobuf 安裝 protobuf版本:2.6.1 下載地址:https://github.com/google/protobuf/archive/v2.6.1.
linux下安裝及配置jenkins(war包)
eight 成功 .html 輸入 需要 目錄 bubuko grep test 1、由於Jenkins是基於Java開發的,安裝前確認操作系統已經安裝了jdk和tomcat 如何安裝,請參考WINDOWS/LINUX上部署TOMCAT服務器 2、下載war包: htt
linux下安裝anaconda教程,並新增清華映象
最近兩年,人工智慧異常的火爆,各行各業的人都在像人工智慧方向靠近,而目前python是人工智慧領域使用的十分方便的程式語言,接下來為大家介紹一下python的一個開源發新版本——anaconda的安裝方法(主要針對linux系統,Windows安裝方法除了前面
centos 7( linux )下安裝elasticsearch教程
目錄 概述 環境準備 elaticsearch簡介 安裝elasticsearch 彩蛋 概述 很久沒有寫部落格了,最近在做全文檢索的專案,發現elasticsearch踩了不少坑,百度點
Linux下安裝centos7教程
注意事項:安裝時一定要選好網路,網路選擇NAT模式,安裝完成之後,檢查是否可以連線外網,curl www.baidu.com Linux常用命令:1.cp nginx-1.8.0.tar.gz(檔案) nginx(資料夾路徑) 刪除資料夾命令:rm -rf 資料夾名字 2.使用yum安裝一些必
如何在Linux Ubuntu 16.04下安裝及開啟PyCharm (轉)
下載 安裝 PyCharm 下載好的檔案的名稱可能是 ‘pycharm-community-2017.2.3.tar.gz’ 首先開啟終端,然後通過下面的命令進入下載檔案所在的資料夾: cd ~/Downloads 或者如果資料夾是中文 cd ~/下載 1
linux下安裝nginx+php+mysql環境詳細講解
linux環境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.tar.gz libxml2:libxml2-2.9.1.tar.gz openss
Linux下搭建Redis分散式叢集(詳細圖解演示)
一 環境搭建. 1.1 環境準備.三臺虛擬機器.redis的版本是3.2.9.redis的各個版本下載地址:連結. 三個主節點三個從節點.
Linux下搭建Zookeeper分散式叢集(詳細圖解演示)
一:實驗環境搭建. 1.1 Linux使用的是CentOS7.3的發行版,Zookeeper的版本是3.4.12.搭建三個節點的叢集,是分別在三臺虛擬機器上配置Zookeeper節點,不是在一臺虛擬機器上搭建的三個Zookeepe
Centos下Nginx的安裝和使用步驟(詳細)
1、編譯環境gcc g++ 開發庫之類的需要提前裝好; yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 2、首先安裝PCRE pcre功能是讓nginx有r
Linux 下安裝翻譯軟體——stardict(星際譯王)
眾所周知,我們在學習新知識的時候什麼最有效?當然是看官網的API,但是苦於很多API都是英文的,於是我們就不得不找翻譯軟體的幫忙了。此處就帶大家裝一款非常優秀的翻譯軟體,也有取詞功能。 1.安裝stardict 在Ubuntu中有兩種安裝方式 在
Linux下安裝maven私服(基於docker)
Nexus 映象說明 本映象基於官方映象檔案,僅修改系統時間為中國東8區,其他配置未變。 建立資料目錄 遞迴建立
Linux下安裝Redis4.0版本(簡便方法)
Redis介紹: Redis 是完全開源免費的,遵守BSD協議,是一個高效能的key-value資料庫。 Redis 與其他 key - value 快取產品有以下三個特點: Redis支援資料的持久化RDB和AOF,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行
Linux下安裝svn教程
### 前言 最近買了新伺服器,準備開始弄一些個人的開源專案。有了伺服器當然是搞一波svn啦。方便自己的資料上傳和下載。於是在此記錄搭建svn的方式,方便以後直接使用。 ### 安裝 使用yum源進行安裝,十分的方便。 ``` yum install subversion ``` ### 配置svn ####
linux下安裝zsh和p10k的詳細過程
[TOC] ### 下載zsh ``` sudo apt-get install zsh sudo apt-get install git ``` ### 下載oh-my-zsh 因為zsh配置起來太麻煩了,直接安裝`oh-my-zsh`即可,前往`oh-my-zsh`官網: > https:
Linux下MySQL主從復制(二)
mysql 鄰居 MySQL的一主多從模式原理結構圖配置步驟1.主服務器: 1. 改變server id 2. 啟用二進制日誌文件 3. 創建具有復制的用戶123123具體操作請看:http://www.crazyrui.pw:8088/index.php/2017/07/23/linux_m
004-Linux下操作目錄常用命令(mkdir)
刪除目錄 note 當前 目錄 name ges 否則 技術分享 mdi 1,mkdir 創建目錄 當前目錄下創建一個目錄 mkdir dir 創建含有子目錄的方式 mkdir -p dir/t11/t1