Boost庫是一個可移植、提供源代碼的C++庫,做爲標準庫的後備,是C++標準化進程的發動機之一。 Boost庫由C++標準委員會庫工做組成員發起,其中有些內容有望成爲下一代C++標準庫內容。在C++社區中影響甚大,是徹徹底底的「準」標準庫。 Boost因爲其對跨平臺的強調,對標準C++的強調,與編寫平臺無關。大部分boost庫功能的使用只需包括相應頭文件便可,少數(如正則表達式庫,文件系統庫等)須要連接庫。但Boost中也有不少是實驗性質的東西,在實際的開發中實用須要謹慎。boost 在一些播放軟件和音效中指加強,好比Bass Boost,低音加強。html
1.下載最新版的BOOST庫,當前最新版爲1.46.1(2011-3-12發佈),下載連接地址:http://sourceforge.net/projects/boost/files/boost/1.46.1/ios
2.解壓到硬盤上,其目錄構造爲web
3.打開根目錄下的index.html,在上面的「Getting Started」有介紹怎麼開始使用Boost的,大部分的Boost庫只須要包含頭文件便可,少部分須要編譯連接。如下是必須編譯的Boost庫:
* Boost.Filesystem
* Boost.GraphParallel
* Boost.IOStreams
* Boost.MPI
* Boost.ProgramOptions
* Boost.Python
* Boost.Regex
* Boost.Serialization
* Boost.Signals
* Boost.System
* Boost.Thread
* Boost.Wave
另外,一些庫能夠是可選擇編譯的:
* Boost.DateTime (只有當你須要使用它的to_string/from_string或者serialization features, or if you're targeting Visual C++ 6.x or Borland.
* Boost.Graph (只有當你傾向解析 GraphViz 文件)
* Boost.Math (the TR1 and C99 cmath functions)
* Boost.Random (當你須要使用random_device的時候)
* Boost.Test (can be used in 「header-only」 or 「separately compiled」 mode)
4.下面開始一個無需編譯Boost,直接使用頭文件的示例:
①打開Visual Studio 2008,新建Visual C++工程,基於Win32控制檯程序,工程名爲example,肯定以後,在彈出的對話框中「應用程序設置」打鉤上「控制檯應用程序」和「空項目」,點「完成」;
②在「解決方案資源管理器」右擊example工程,選擇「屬性」→「C/C++」→「常規」→「附加包含目錄」,輸入剛纔解壓Boost的目錄,好比「F:/MyCode/BOOST/boost_1_46_1」,以下圖所示:
③右擊example工程下的「源文件」→「添加」→「新建項」→左邊的「代碼」→選中右邊的「C++文件(.cpp)」,文件名爲example,點「添加」,輸入如下代碼:正則表達式
④點擊菜單欄上「生成」→「生成解決方案」,正常的話會編譯經過,按F5可看結果,結果以下圖所示:
這個example代碼的功能是從標準輸入中讀取一系列整型,而後使用boost::lambda使之每一個數乘以3,再把結果寫進標準輸出。網絡
5.如果須要用到那些必須得編譯連接的庫,那麼就得組建編譯Boost庫了。官方文檔上介紹說能夠使用安裝版,或者本身編譯源代碼,特別介紹推薦在Microsoft Visual Studio開發環境下使用安裝版,由於安裝版能夠直接下載,而且帶有預編譯好的庫,節省本身編譯源代碼的麻煩。在這裏,由於我使用的是Visual Studio 2008,故欲試試使用安裝版。安裝版是boostpro網站製做的,安裝版不是跟官方的Boost同步的,會比較晚一些時間纔會發佈出來。當前最新版BoostPro 1.46.1 Installer (197K .exe),下載地址:http://www.boostpro.com/download/多線程
5.1運行安裝版,一路「I Agree」,注意會鏈接網絡,必須放行。以後會彈出選擇下載Boost C++庫1.46.1的鏡像地址,默認就好,繼續「Next」,彈出選擇默認的編譯類型,在左側選擇「Visual C++ 9」,在右側選擇類型,咱們通常所用到的運行庫比較多使用多線程,能夠在上面的example工程看屬性,以下圖所示:
爲此,咱們只需選擇上面四個選項,再根據動態連接和靜態連接需求進行選擇,以下圖所示:
接下去就是選擇組件安裝,沒啥問題就默認了,下一步選擇路徑,接着就開始下載了,以下圖所示:
由於是鏈接網絡下載,因此得一段比較長的時間,下載完以後就會自動安裝好,在設定的目錄下就有個lib文件夾,裏面就是編譯好的庫。
5.2如今讓咱們測試一下那些須要連接才能使用的庫:
①打開上面創建的example工程,將其cpp文件代碼改成以下:dom
此時,如果生成解決方案的話,就會提示 fatal error LNK1104: 沒法打開文件「libboost_regex-vc90-mt-gd-1_46_1.lib」
②右鍵example解決方案,選擇「屬性」→「配置屬性」→「連接器」→「附加庫目錄」,添加安裝版下載好的lib庫文件夾路徑,以下圖所示:
③在菜單欄「生成」下拉選擇「生成解決方案」,無警告無錯誤經過。將下面文字保存成文本文檔,文件名爲jayne.txt,內容以下:ide
而後保存到工程目錄的Debug文件夾下。接着Win+R輸入CMD進入控制檯,cd 轉到此Debug目錄下,輸入example < jayne.txt命令,以下圖所示:
回車以後,文本文檔裏面Subject主題的內容就會被正則匹配出來,以下圖所示:
也能夠不進入CMD控制檯,直接在example解決方案右鍵「屬性」→「調試」→「命令參數」,輸入< jayne.txt ,按「肯定」,直接Ctrl+F5運行程序,結果以下圖所示:
6.最後總結,Visual Studio環境的話能夠直接下載安裝版的,省去麻煩的編譯過程,可是不帶幫助文檔,這點得本身再從官方網站下載了,目前有漢化Boost文檔,還有一些不錯的中文站點,列舉以下:
boost文檔漢化:http://code.google.com/p/boost-doc-zh/
在線漢化版文檔:http://www.cppprog.com/boost_doc/工具
附上我編譯好的庫boost1.46.1_VS2008多線程靜態庫版本: http://download.csdn.net/source/3147458測試