Boost程式庫完全開發指南(一)

2021-10-19 14:28:28 字數 1636 閱讀 3250

github 原始碼

1.緒論

boost是乙個功能強大,構造精巧,跨平台,開源並且完全免費的c++程式庫。

boost庫安裝:

tar boost_1_72_0.tar.gz
1.1定製安裝

#include

using

namespace std;

#include

#include

intmain()

執行

g++

-o a.out version.

cpp-i

編譯程式。

3.構建工具

3.1 安裝b2

安裝b2-boost build v2。[b2是專門為構建boost這樣的複雜度的軟體開發的構建工具]

在boost解壓縮後的根目錄下執行以下命令

cd tools/build

./booststrap.sh

./b2 install

b2會預設安裝到/usr/local/bin目錄下

3.2 構建指令碼

和make等構建工具一樣,b2也能使用文字格式的構建指令碼來管理**,其名稱通常是「jamfile」或「jamfile」。此外b2還有乙個特殊的「jamroot」檔案,需要放在整個專案的根目錄下,用於管理專案樹,定義整個專案的構建設定。

jamroot一般用於定義整個專案裡通用的編譯引數,包含路徑等設定,避免每個子目錄裡的jamfile重複定義。常見的格式如下

import testing ;

using gcc : : g++

#使用g++

: -std=c++11 #指定使用c++11標準,也可使用用c++14標準

-fpic

-wno-multichar #for boost::mpl

;path-constant dev_root : .

;project : requirements #設定整個專案的選項

multi #多執行緒

static #靜態變數

./common/

#相當於 -i

;use-project /lib : lib ;

#指定lib專案的別名

3.3 構建語言

b2使用的構建語言陳偉bjam,是一種解釋性語言,擁有完整的語法定義,包括變數,分支,迴圈語句,函式,甚至還包括類。

exe e : ***.

cpp yyy.

cpp zzz;

unit-test t : ***.

cpp

lib zzz : depend_lists
bjam是居於token語言,使用空格,tab等空白字元來區分語法元素,不僅是單詞,即使是「:」「;」,這樣的標點符號前後也必須要有空格,否則bjam將無法識別標點。

C STL標準程式庫開發指南(1)

今天起,我將開始學習c stl標準庫開發指南一書,系統性地學習stl的詳細工作原理。以後的每一天我都盡量做到更新讀書筆記,也算是對自己的乙個要求。第一章 類模板簡介 泛型程式設計 1 乙個通用的標準容器庫。2 編寫一般化並可以重複使用的演算法,與資料型別無關。命名空間 是指識別符號的可見範圍和有效範...

web安全開發指南 許可權管理

1 訪問控制必須只能在伺服器端執行。2只通過 session 來判定使用者的真實身份,避免使用其它資料域的引數 比如來自 cookie hidden 域 form 和url 引數等 來做訪問控制。3對 web 應用伺服器進行安全配置以防止使用者對靜態檔案的無鑑權訪問 參考附錄 11.6 4 對每乙個...

微信硬體藍芽開發各種坑不完全開發指南

舊版 開始開發 以上是公眾平台的配置,下面開始寫前端 1 新建html,基本結構寫好。2 引入 這個js 3 寫js wx.config 4 繼續寫方法 wx.ready function function res 手機藍芽狀態改變時觸發 這是監聽事件的呼叫方法,注意,監聽事件都沒有引數 wx.on...