vs2019+win10配置boost庫(kù)的詳細(xì)教程
boost介紹
boost是一個(gè)準(zhǔn)標(biāo)準(zhǔn)庫(kù),相當(dāng)于STL的延續(xù)和擴(kuò)充,它的設(shè)計(jì)理念和STL比較接近,都是利用泛型讓復(fù)用達(dá)到最大化。不過(guò)對(duì)比STL,boost更加實(shí)用。 STL集中在算法部分,而boost包含了不少工具類,可以完成比較具體的工作。
Boost庫(kù)是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)由Boost社區(qū)組織開(kāi)發(fā)、維護(hù)。其目的是為C++程序員提供免費(fèi)、同行審查的、可移植的程序庫(kù)。Boost庫(kù)可以與C++標(biāo)準(zhǔn)庫(kù)完美共同工作,并且為其提供擴(kuò)展功能。Boost庫(kù)使用Boost License來(lái)授權(quán)使用,根據(jù)該協(xié)議,商業(yè)的非商業(yè)的使用都是允許并鼓勵(lì)的。
Boost社區(qū)建立的初衷之一就是為C++的標(biāo)準(zhǔn)化工作提供可供參考的實(shí)現(xiàn),Boost社區(qū)的發(fā)起人Dawes本人就是C++標(biāo)準(zhǔn)委員會(huì)的成員之一。在Boost庫(kù)的開(kāi)發(fā)中,Boost社區(qū)也在這個(gè)方向上取得了豐碩的成果。在送審的C++標(biāo)準(zhǔn)庫(kù)TR1中,有十個(gè)Boost庫(kù)成為標(biāo)準(zhǔn)庫(kù)的候選方案。在更新的TR2中,有更多的Boost庫(kù)被加入到其中。從某種意義上來(lái)講,Boost庫(kù)成為具有實(shí)踐意義的準(zhǔn)標(biāo)準(zhǔn)庫(kù)。
大部分boost庫(kù)功能的使用只需包括相應(yīng)頭文件即可,少數(shù)(如正則表達(dá)式庫(kù),文件系統(tǒng)庫(kù)等)需要鏈接庫(kù)。里面有許多具有工業(yè)強(qiáng)度的庫(kù),如graph庫(kù)。
很多Boost中的庫(kù)功能堪稱對(duì)語(yǔ)言功能的擴(kuò)展,其構(gòu)造用盡精巧的手法,不要貿(mào)然的花費(fèi)時(shí)間研讀。Boost另外一面,比如Graph這樣的庫(kù)則是具有工業(yè)強(qiáng)度,結(jié)構(gòu)良好,非常值得研讀的精品代碼,并且也可以放心的在產(chǎn)品代碼中多多利用。
boost主要包含一下幾個(gè)大類:字符串及文本處理、容器、迭代子(Iterator)、算法、函數(shù)對(duì)象和高階編程、泛型編程、模板元編程、預(yù)處理元編程、并發(fā)編程、數(shù)學(xué)相關(guān)、糾錯(cuò)和測(cè)試、數(shù)據(jù)結(jié)構(gòu)、輸入/輸出、跨語(yǔ)言支持、內(nèi)存相關(guān)、語(yǔ)法分析、雜項(xiàng)。 有一些庫(kù)是跨類別包含的,就是既屬于這個(gè)類別又屬于那個(gè)類別。
boost庫(kù):
Boost庫(kù)是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱,由Boost社區(qū)組織開(kāi)發(fā)、維護(hù)。Boost庫(kù)可以與C++標(biāo)準(zhǔn)庫(kù)完美共同工作,并且為其提供擴(kuò)展功能。
一.下載boost庫(kù)
直接去官網(wǎng)下載http://www.boost.org
中間位置有download點(diǎn)擊。選擇要下載的安裝包。這里我用的是windows,選擇的是boost_1_73_0.zip。linux可以選擇后綴為tar.gz和其他的。
二.編譯
下載好后,解壓,得到文件目錄如下圖,找到其中的bootstrap.bat文件:
然后打開(kāi)vs2019的命令行:這里選擇64位或者32位的都可以。我選擇的是x86_x64的。
然后切換到你解壓到的路徑。運(yùn)行bootstrap.bat。
cd D:\aboost\boost_1_73_0 bootstrap.bat //運(yùn)行
運(yùn)行之后,查看boost_1_73_0下會(huì)多出幾個(gè)文件。b2。運(yùn)行b2.
這里運(yùn)行的時(shí)間有點(diǎn)長(zhǎng),等待就行,最后運(yùn)行成功之后會(huì)顯示。
在使用boost庫(kù)包含上面的文件夾與鏈接庫(kù)。
三.測(cè)試boost
1.打開(kāi)VS2019,新建一個(gè)空C++項(xiàng)目,并創(chuàng)建main.cpp 文件。點(diǎn)擊項(xiàng)目的屬性。
2.在vc++目錄中包含目錄添加boost路徑D:\aboost\boost_1_73_0,庫(kù)目錄添加D:\aboost\boost_1_73_0\stage\lib。保存即可。
3.測(cè)試(以多線程并行排序?yàn)槔?
#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; }
這里運(yùn)行注意要選擇,你之前命令行選擇的版本,要不然boost不會(huì)包含在內(nèi),會(huì)出錯(cuò)。
總結(jié)
到此這篇關(guān)于vs2019+win10配置boost庫(kù)的文章就介紹到這了,更多相關(guān)vs2019+win10配置boost庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++深入講解new與deleted關(guān)鍵字的使用
這篇文章主要介紹了C++中new與deleted關(guān)鍵字的使用,new在動(dòng)態(tài)內(nèi)存中為對(duì)象分配空間并返回一個(gè)指向該對(duì)象的指針;delete接受一個(gè)動(dòng)態(tài)對(duì)象的指針, 銷毀該對(duì)象, 并釋放與之關(guān)聯(lián)的內(nèi)存2022-05-05QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法
這篇文章主要給大家介紹了關(guān)于QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法,軟件的界面為了更直觀或美觀,常常需要通過(guò)圖片來(lái)表達(dá),需要的朋友可以參考下2023-06-06