Boost 学习

    目的:简化编程以及实现可以在Windows和Linux之间相互移植的作用,提供更方便的进程(线程)间通讯的手段

    主要内容:进程间共享内存、锁以及信号量和消息队列等等。

 

    近期在考虑如何将频繁访问的数据以STL 容器的方式存入到共享内存以供多个进程共同访问时,由于自身缺乏手段,所以考虑到了传说中强大的boost库,于是进行了初步学习和使用,故对于期间学习的内容进行总结和分享,同时敬请高人指教。

 

    在使用某个开发库的时候首先必须的是搭建开发测试环境,以本人的开发环境为例。Windows Xp


####################boost安装和使用######################################
1.安装并编译
    rpm -qa boost 查看是否已经安装了boost
    su - root
    mv  boost_1_44_0.tar.bz2 /tmp
    bunzip2 boost_1_44_0.tar.bz2
    tar -xvf boost_1_44_0.tar 
    cd /tmp/boost_1_44_0
    
    首先我们要编译bjam:
    cd /tmp/boost_1_44_0/tools/jam
    ./build_dist.sh 


    编译完后在这个目录下有编译出的bjam文件 (高版本的在/tmp/boost_1_44_0会直接有 bjam可执行文件)
    cd /tmp/boost_1_44_0/tools/jam/stage
    cp bin.linuxx86 /tmp/boost_1_44_0 -r
    
    运行命令编译:
    ./bjam "-sTOOLS=gcc" "--includedir=/usr/include" "--libdir=/usr/lib/boost" install
    ./bjam -sTOOLSETS=gcc -sINCLUDEDIR=/usr/include -sLIBDIR=/usr/lib/boost install
    开始编译,等待编译完成,需很长时间。
    关于bjam的后面的参数的设置:
    -sTOOLS=gcc  指定编译器为GCC
    --includedir=/usr/include/  指定头文件的安装目录,我安装在/usr/include下。如果安装成功,将在/usr/include/生成目录boost_1_33,该目录下就是boost的头文件目录
    --libdir=/usr/lib/boost  指定boost的库文件的存放位置, 生成的 .a .so 文件将放在该目录下
    install 编译并安装boost
    
    对于boost_1_44_0 上面全部忽略 直接执行 默认安装在/usr/local下
    ./bootstrap.sh --help
    ./bootstrap.sh --prefix=/usr
    ./bjam install 
    
    卸载旧的版本
    cd /usr/include 
    rm -rf boost
    cd /usr/lib
    rm -rf libboost_* 
    


####################boost交叉编译环境安装和使用######################################
#作者:申玉
#描述:boost 的安装和使用
#时间:2010-10-13 14:29:42
####################boost安装和使用##################################################   


    cd /usr/local
    mkdir boost
    
    cd /tmp/boost
    tar -xvf boost_1_44_0.tar 
    cd /tmp/boost/boost_1_44_0
    cp bootstrap.sh bootstrap.sh.bak
    
    ./bootstrap.sh 
    ./bjam --prefix=/usr/local 
    ./bjam install
    //注意删除其/usr/lib64下的旧的库文件      
    使用 file 命令查看文件类型
    file libboost_date_time.so.1.44.0 
    libboost_date_time.so.1.44.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
    
    
    ./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-thread stage    
    ./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-date_time stage
   
   
   
    cp project-config.jam project-config.jam.bak

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值