Resource:
可以在http://www.boost.org/得到boost,最新的release是1_33。RC_1_34_0也值得看看,它是boost的一个子集,仅包含对Technical Report on C++ Library Extensions的实现。现在还处在alpha阶段(就是基本不能用阶段 :))。
一篇文章The Boost.Threads Library。
boost thread 的位置BOOST_ROOT/boost/thread和BOOST_ROOT/libs/thread。这里除了实现还有文档,测试,和示例代码。
Programe:
build:
使用boost.thread需要编译。首先得得到一个bjam构造器,使用它来组织thread库的编译,作用类似于nmake。可以通过 download a prebuilt executable 下载一个编译好的bjam,我是这样做的。也可以自己编译一个,bjam的source在BOOST_ROOT/tools/build/jam_src。
然后到目录BOOST_ROOT/libs/thread/build,使用命令 bjam -sTOOLS=vc-8_0 编译thread库。bjam需要放在PATH路径下,或者给出它的路径让系统能找到它。编译好的dll和lib文件会放在BOOST_ROOT/bin对应的目录下。
BOOST_ROOT/bin/boost/libs/thread/build/boost_thread.dll目录下是动态库,可以保留lib,dll,pdb文件,把其它的中间文件都删除。
BOOST_ROOT/bin/boost/libs/thread/build/libboost_thread.lib目录下是静态库,留一个lib文件就够了。
可以加入-sBUILD进一步控制build的过程。
bjam "-sTOOLS=vc-8_0" "-sBUILD=debug <runtime-link>static", 只生成debug版的静态库lib文件。
bjam "-sTOOLS=vc-8_0" "-sBUILD=debug release <debug-symbols>on <runtime-link>dynamic",生成debug和release版的动态库文件(lib和dll),并且显示要求生成symbol文件(pdb)。
应该还可以控制install和stage路径的,但我没能正确操作,难道是文档过期了?现在的install路径就是BOOST_ROOT/bin下的路径, stage路径是BOOST_ROOT/libs/thread/build/bin-stage。
//todo