vs2019+win10配置boost庫的詳細教程
boost介紹
boost是一個準標準庫,相當于STL的延續(xù)和擴充,它的設計理念和STL比較接近,都是利用泛型讓復用達到最大化。不過對比STL,boost更加實用。 STL集中在算法部分,而boost包含了不少工具類,可以完成比較具體的工作。
Boost庫是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫由Boost社區(qū)組織開發(fā)、維護。其目的是為C++程序員提供免費、同行審查的、可移植的程序庫。Boost庫可以與C++標準庫完美共同工作,并且為其提供擴展功能。Boost庫使用Boost License來授權使用,根據(jù)該協(xié)議,商業(yè)的非商業(yè)的使用都是允許并鼓勵的。
Boost社區(qū)建立的初衷之一就是為C++的標準化工作提供可供參考的實現(xiàn),Boost社區(qū)的發(fā)起人Dawes本人就是C++標準委員會的成員之一。在Boost庫的開發(fā)中,Boost社區(qū)也在這個方向上取得了豐碩的成果。在送審的C++標準庫TR1中,有十個Boost庫成為標準庫的候選方案。在更新的TR2中,有更多的Boost庫被加入到其中。從某種意義上來講,Boost庫成為具有實踐意義的準標準庫。
大部分boost庫功能的使用只需包括相應頭文件即可,少數(shù)(如正則表達式庫,文件系統(tǒng)庫等)需要鏈接庫。里面有許多具有工業(yè)強度的庫,如graph庫。
很多Boost中的庫功能堪稱對語言功能的擴展,其構造用盡精巧的手法,不要貿然的花費時間研讀。Boost另外一面,比如Graph這樣的庫則是具有工業(yè)強度,結構良好,非常值得研讀的精品代碼,并且也可以放心的在產品代碼中多多利用。
boost主要包含一下幾個大類:字符串及文本處理、容器、迭代子(Iterator)、算法、函數(shù)對象和高階編程、泛型編程、模板元編程、預處理元編程、并發(fā)編程、數(shù)學相關、糾錯和測試、數(shù)據(jù)結構、輸入/輸出、跨語言支持、內存相關、語法分析、雜項。 有一些庫是跨類別包含的,就是既屬于這個類別又屬于那個類別。
boost庫:
Boost庫是為C++語言標準庫提供擴展的一些C++程序庫的總稱,由Boost社區(qū)組織開發(fā)、維護。Boost庫可以與C++標準庫完美共同工作,并且為其提供擴展功能。
一.下載boost庫
直接去官網(wǎng)下載http://www.boost.org

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

二.編譯
下載好后,解壓,得到文件目錄如下圖,找到其中的bootstrap.bat文件:

然后打開vs2019的命令行:這里選擇64位或者32位的都可以。我選擇的是x86_x64的。


然后切換到你解壓到的路徑。運行bootstrap.bat。
cd D:\aboost\boost_1_73_0 bootstrap.bat //運行

運行之后,查看boost_1_73_0下會多出幾個文件。b2。運行b2.

這里運行的時間有點長,等待就行,最后運行成功之后會顯示。

在使用boost庫包含上面的文件夾與鏈接庫。
三.測試boost
1.打開VS2019,新建一個空C++項目,并創(chuàng)建main.cpp 文件。點擊項目的屬性。

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

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;
}
這里運行注意要選擇
,你之前命令行選擇的版本,要不然boost不會包含在內,會出錯。
總結
到此這篇關于vs2019+win10配置boost庫的文章就介紹到這了,更多相關vs2019+win10配置boost庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入解讀C++ 內聯(lián)函數(shù)inline|nullptr
內聯(lián)函數(shù):用** inline 修飾的函數(shù)叫做內聯(lián)函數(shù),編譯時C++編譯器會在調用的地方展開內聯(lián)函數(shù)**,這樣調用內聯(lián)函數(shù)就需要創(chuàng)建棧楨,就提高效率了,這篇文章給大家介紹C++ 內聯(lián)函數(shù)inline|nullptr的相關知識,感興趣的朋友跟隨小編一起看看吧2024-07-07
淺談C++中thread庫join和detach的區(qū)別
這篇文章主要為大家介紹了C++中thread庫join和detach的區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11
C++11 寫一個只觸發(fā)一次槽函數(shù)的Qt connect函數(shù)
這篇文章主要為大家介紹了C++11 寫一個只觸發(fā)一次槽函數(shù)的Qt connect函數(shù)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
C++ 中的new 和 delete 運算符及new和malloc的區(qū)別解析
在C++中,又引出了一個新玩法:new 和 delete,在C++中,new是用來動態(tài)開辟內存的,delete是用來釋放我們所動態(tài)開辟的內存C++中的new和delete運算符及new和malloc的區(qū)別解析,感興趣的朋友跟隨小編一起看看吧2024-11-11

