【一】開始篇

go__Ahead發表於2024-08-28

概述

之前在暑假有空學習了一下mprpc專案,這是一個基於陳碩大佬寫的muduo庫、protobuf的分散式rpc框架,現在想整理一下內容(眾所周知,學了不整理等於白學)

技術棧

  • 叢集和分散式概念以及原理
  • RPC遠端過程呼叫原理以及實現
  • Protobuf資料序列化和反序列化協議
  • Protobuf資料序列化和反序列化協議
  • ZooKeeper分散式一致性協調服務應用以及程式設計
  • muduo網路庫程式設計
  • conf配置檔案讀取
  • 非同步日誌
  • CMake構建專案整合編譯環境
  • github管理專案
  • C++11新特性(thread、bind等)

專案環境

ubuntu22.04(muduo、boost、Zookeeper)、VSCode

環境安裝

boost庫安裝

1、去boost官網下載原始碼

2、解壓安裝

tar -zxvf boost_1_86_0.tar.gz
# 進入目錄
cd boost_1_86_0/

# 執行bootstrap.sh工程編譯構建程式,需要等待一會兒
./bootstrap.sh 

# 原始碼根目錄下生成了b2程式,執行b2程式如下
./b2

安裝成功會出現這樣

最後,再把上面的boost庫標頭檔案和lib庫檔案安裝在預設的Linux系統標頭檔案和庫檔案的搜尋路徑下,執行下面命令(因為要給/usr目錄下複製檔案,需要先進入root使用者)
root@hf-virtual-machine:/home/hf/Env/boost_1_86_0# ./b2 install

安裝成功會列印如下資訊

3、驗證安裝是否成功(使用一下C++11的bind()函式)

#include <iostream>
#include <boost/bind.hpp>
#include <string>
using namespace std;

class Print
{
public:
        void print(string name) 
        { 
                cout << name << " is learning Cpp!" << endl; 
        }
};

int main()
{
        Print p;
        auto func = boost::bind(&Print::print, &p, "hao fei");
        func();
        return 0;
}

編譯執行後輸出

至此,boost庫安裝完畢!

相關文章