使用 Boost

現在的程序中用 STL 還是比較常見的. 用 STL 一個比較不爽的地方就是要寫 functor. 在這個時候往往就希望 C++ 支持匿名函數. 也知道 boost 裏有神奇的 lambda 庫. 但一直覺得 boost 的安裝比較麻煩. 所以也一直沒有嘗試. 

直到最近, 終於想通了. 常常覺得 java 一個很好的地方就是他有很多支持庫. 其實 boost 也就是最好的 c++ 支持庫啊. 如果因爲安裝麻煩而不用. 那不是有點因噎廢食了? 所以我決定安裝它. Boost 1.34 剛剛出來. 網上找到的安裝過程一般都是針對 1.33 的. 不過過程也差不多. 只是 1.34 裏似乎不建議自己編譯 bjam, 而是去下載編譯好的版本. 有了 bjam 後, 直接運行之就可以開始編譯 boost 了. 我用的是 vs2005, 所以編譯器問題不大.  有人說全部編譯花了 3 小時. 我不知道花了多長時間(應該不到 3 小時), 但編譯後的 lib 佔了 2G 空間. 似乎沒有提示什麼錯誤. 試着編譯了一些例子程序. 通過. 順便說一下, bjam 用的是命令行編譯的方式. 所以環境變量要設置好. 可以使用開始菜單中的那個 "Visual Studio 2005 Command Prompt", 在其中執行 bjam. 但我更傾向於把這些環境變量寫到註冊表中. 這樣設置之後, 配合 scite, 寫一些小的例子程序, 編譯/運行還是非常方便的. 我把這些環境變量整理了一下. 從這裏下載: http://nicoster.googlepages.com/vsvars32.bat  這個 bat 文件假定 vs2005 默認安裝目錄. 裏面用到的 setx, 是 xp support tools 帶的一個工具. 可以從這裏下載: http://nicoster.googlepages.com/setx.rar

首先是試了試 lambda, 看了看 boost 自帶的 doc, 簡單的 lambda 表達式還是比較容易的. 然後在網上發現了 beyond the C++ : an intruduction to boost. 國內的幾個站點有下載. 但下載不了. 後來還是求助於 filedonkey.com, 用 emule 下載到了. 正在看.傳到我的 googlepages 上. 大家可以下載: http://nicoster.googlepages.com/boost_chm.rar

感覺 C++ 程序員還是很有必要看看 boost 的. 不是說非要去看他的實現. 但至少用法應該知道.

另外, 請教大家一個問題. boost 編譯之後 lib 那麼多層目錄. 有什麼好辦法可以引用到這些 lib 文件? 逐個加到 lib 環境變量似乎不太現實.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章