1. 程式人生 > 程式設計 >vs2019+win10配置boost庫的詳細教程

vs2019+win10配置boost庫的詳細教程

boost介紹

boost是一個準標準庫,相當於STL的延續和擴充,它的設計理念和STL比較接近,都是利用泛型讓複用達到最大化。不過對比STL,boost更加實用。 STL集中在演算法部分,而boost包含了不少工具類,可以完成比較具體的工作。

Boost庫是為C++語言標準庫提供擴充套件的一些C++程式庫的總稱。Boost庫由Boost社群組織開發、維護。其目的是為C++程式設計師提供免費、同行審查的、可移植的程式庫。Boost庫可以與C++標準庫完美共同工作,並且為其提供擴充套件功能。Boost庫使用Boost License來授權使用,根據該協議,商業的非商業的使用都是允許並鼓勵的。

Boost社群建立的初衷之一就是為C++的標準化工作提供可供參考的實現,Boost社群的發起人Dawes本人就是C++標準委員會的成員之一。在Boost庫的開發中,Boost社群也在這個方向上取得了豐碩的成果。在送審的C++標準庫TR1中,有十個Boost庫成為標準庫的候選方案。在更新的TR2中,有更多的Boost庫被加入到其中。從某種意義上來講,Boost庫成為具有實踐意義的準標準庫。

大部分boost庫功能的使用只需包括相應標頭檔案即可,少數(如正則表示式庫,檔案系統庫等)需要連結庫。裡面有許多具有工業強度的庫,如graph庫。

很多Boost中的庫功能堪稱對語言功能的擴充套件,其構造用盡精巧的手法,不要貿然的花費時間研讀。Boost另外一面,比如Graph這樣的庫則是具有工業強度,結構良好,非常值得研讀的精品程式碼,並且也可以放心的在產品程式碼中多多利用。

boost主要包含一下幾個大類:字串及文字處理、容器、迭代子(Iterator)、演算法、函式物件和高階程式設計、泛型程式設計、模板超程式設計、預處理超程式設計、併發程式設計、數學相關、糾錯和測試、資料結構、輸入/輸出、跨語言支援、記憶體相關、語法分析、雜項。 有一些庫是跨類別包含的,就是既屬於這個類別又屬於那個類別。

boost庫:

Boost庫是為C++語言標準庫提供擴充套件的一些C++程式庫的總稱,由Boost社群組織開發、維護。Boost庫可以與C++標準庫完美共同工作,並且為其提供擴充套件功能。

一.下載boost庫

直接去官網下載http://www.boost.org

vs2019+win10配置boost庫的詳細教程

中間位置有download點選。選擇要下載的安裝包。這裡我用的是windows,選擇的是boost_1_73_0.zip。linux可以選擇字尾為tar.gz和其他的。

vs2019+win10配置boost庫的詳細教程

二.編譯

下載好後,解壓,得到檔案目錄如下圖,找到其中的bootstrap.bat檔案:

vs2019+win10配置boost庫的詳細教程

然後開啟vs2019的命令列:這裡選擇64位或者32位的都可以。我選擇的是x86_x64的。

vs2019+win10配置boost庫的詳細教程

vs2019+win10配置boost庫的詳細教程

然後切換到你解壓到的路徑。執行bootstrap.bat。

cd D:\aboost\boost_1_73_0
bootstrap.bat //執行

vs2019+win10配置boost庫的詳細教程

執行之後,檢視boost_1_73_0下會多出幾個檔案。b2。執行b2.

vs2019+win10配置boost庫的詳細教程

這裡執行的時間有點長,等待就行,最後執行成功之後會顯示。

vs2019+win10配置boost庫的詳細教程

在使用boost庫包含上面的資料夾與連結庫。

三.測試boost

1.開啟VS2019,新建一個空C++專案,並建立main.cpp 檔案。點選專案的屬性。

vs2019+win10配置boost庫的詳細教程

2.在vc++目錄中包含目錄新增boost路徑D:\aboost\boost_1_73_0,庫目錄新增D:\aboost\boost_1_73_0\stage\lib。儲存即可。

vs2019+win10配置boost庫的詳細教程

3.測試(以多執行緒並行排序為例)

#include <iostream>
#include <boost/sort/sort.hpp>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
 vector<int> arr;
 while (arr.size() < 100) arr.push_back(std::rand());
 boost::sort::block_indirect_sort(std::begin(arr),std::end(arr));
 for_each(std::begin(arr),std::end(arr),[](int& a) {
 cout << a << "\t";
 });
 return 0;

}

這裡執行注意要選擇vs2019+win10配置boost庫的詳細教程,你之前命令列選擇的版本,要不然boost不會包含在內,會出錯。

總結

到此這篇關於vs2019+win10配置boost庫的文章就介紹到這了,更多相關vs2019+win10配置boost庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!