`
weiwu83
  • 浏览: 191378 次
  • 来自: ...
社区版块
存档分类
最新评论

使用boost的跨平台thread库

阅读更多

如何开始使用boost的跨平台thread库(Redhat9.0)

boost主页:http://www.boost.org/
在主页点击download进入sourceforge页面下载,当前最新版本为boost_1_33_1,有多种文件格式可供下载(包括.exe, .tar.gz等),内容相同,都是boost_1_33_1的全部源代码。下载后解压(假设解压目录为/home/yjguo/boost_1_33_1)。
 
boost中的大部分内容都可以直接源代码使用,而thread则需要首先编译出对应的库。
 
Linux平台:
      Redhat9.0完全默认安装。
1. 编译jam(JAM是编译其他库的基础)
进入/home/yjguo/boost_1_33_1/tools/build/jam_src目录
运行./build.sh即可
运行结束后,将新出现bin.linuxx86目录,我们所需要的bjam就在该目录下。
 
build.sh脚本自动检测gcc并调用gcc来编译bjam。(很多信息在jam_src目录下的index.html文件中都有提到的)

 
2. 编译thread库
进入/home/yjguo/boost_1_33_1目录
运行./tools/build/jam_src/bin.linuxx86/bjam --with-thread stage  (只编译thread库)
 
编译完成后,结果在/home/yjguo/boost_1_33_1/bin/boost/libs/thread/build目录下(包括debug/relase, .a/.so等);另外,由于我们在编译时使用了stage选项,所以所有的结果都将被拷贝到/home/yjguo/boost_1_33_1/stage/lib目录下。
 
3. 准备使用thread库
    选用编译得到的thread动态库(.so Share Object)。
 
    将libboost_thread-gcc-mt-1_33_1.so.1.33.1拷贝到/usr/lib/目录下
    将libboost_thread-gcc-mt-d-1_33_1.so.1.33.1拷贝到/usr/lib/目录下
 
    到/usr/lib目录下运行
ln -s libboost_thread-gcc-mt-1_33_1.so.1.33.1 libboost_thread-gcc-mt-1_33_1.so

ln -s libboost_thread-gcc-mt-d-1_33_1.so.1.33.1 libboost_thread-gcc-mt-d-1_33_1.so
 
4. 使用thread库
    在/home/yjguo目录下新建main.cpp文件,内容为:
#include <boost/thread/thread.hpp>
#include <iostream>
void hello()
{
    std::cout << "Hello world, I'm a thread!" << std::endl;
}
main()
{
    boost::thread thrd(&hello);
    thrd.join();
}
 
运行g++ -I /home/yjguo/boost_1_33_1 -pthread -lboost_thread-gcc-mt-1_33_1 main.cpp 得到a.out文件。

./a.out运行即可。

 

帮忙一下,浙江省温岭市申荣五金工具厂http://www.shenrong.zj.com/,专业生产硬质合金直柄钻头、硬质合金锥柄钻头、硬质合金铰刀、硬质合金立铣刀和硬质合金三面刃铣刀等,据说这样可以很快的被google搜索收录。

相关推荐

    boost库1.68版本Linux下编译的动态库和静态库

    Boost库是C++编程语言的一个开源库集合,它提供了许多高效、跨平台的工具和库,以增强C++的功能和可扩展性。1.68版本是Boost的一个稳定版本,包含了许多更新和优化,旨在提高性能和兼容性。在Linux环境下,Boost库...

    编译好的完整boost库

    3. **文件系统操作**:Boost.Filesystem库提供了跨平台的文件和目录操作接口。 4. **正则表达式**:Boost.Regex库实现了强大的正则表达式匹配和处理。 5. **日期和时间**:Boost.Date_Time库提供了处理日期和时间的...

    boost线程库源码,程序员自用

    Boost库本身是一个开源集合,包含了各种各样的高质量、跨平台的C++库,其中线程库(Boost.Thread)是提升C++多线程编程能力的重要组件。这个压缩包文件"boost_1_85_0"包含了Boost库的一个特定版本,即1.85.0版,这...

    深入实践Boost程序库开发的94个秘笈

    Boost库是C++标准库的重要补充,其中包含了大量的高效、跨平台的组件,能够帮助程序员解决实际问题,尤其是在多线程、网络编程、元编程和泛型编程领域。 在多线程编程方面,Boost库提供了线程(Boost.Thread)库,...

    boost库boost库boost库boost库

    Boost库是C++编程语言中的一个开源库集合,它提供了大量的高效、跨平台的库,旨在提升C++的标准库功能并扩展其应用范围。Boost库由C++社区开发和维护,其中包含了各种实用的工具,如智能指针、线程管理、算法、容器...

    arm架构下的boost库文件

    1. **多线程支持**:Boost.Thread库提供了线程管理和同步原语,如互斥量、条件变量和future/promise等,使得在ARM平台上进行多核优化变得更加便捷。 2. **智能指针**:Boost智能指针(例如shared_ptr、unique_ptr)...

    C++使用的boost库

    Boost.Filesystem库提供了对文件系统操作的接口,如文件的读写、目录遍历等,简化了跨平台的文件操作。 10. **数学和数值计算**: Boost库还包含了一些用于数值计算和统计分析的库,如`math`和`numeric`,其中`...

    深入实践Boost:Boost程序库开发的94个秘笈

    1. **Boost概念**:Boost库是由C++社区创建的开源库,旨在推动C++标准的发展,并为程序员提供实用的、跨平台的工具。它包含各种类型的库,如智能指针、多线程支持、算法、容器、日期时间处理等。 2. **Boost智能...

    Boost库导引 ---

    Boost库的一大优势是它的高度跨平台性,能够在多种操作系统和编译器上无缝工作,包括Windows、Linux、Mac OS等。 8. **容器与迭代器增强** `Boost.Fusion`和`Boost.MPL`库提供了增强的容器和迭代器,使得编写更...

    跨平台线程库

    为了实现跨平台,开发者通常会使用如Boost.Thread或者C++11/14/17标准库中的std::thread这样的库。这些库在Windows和Linux等操作系统上都提供了兼容的实现。例如,std::thread类在不同平台上都提供了start_thread、...

    包含线程池的boost库

    Boost库是C++社区广泛使用的开源库,它提供了一系列高效、跨平台的工具,用于提升C++编程的效率和灵活性。在本压缩包中,特别强调的是“包含线程池”的部分,这意味着Boost库被配置并编译为支持线程池功能。线程池是...

    BOOST程序库完全开发指南(PDF高清版)

    8. **文件系统库**:Boost.Filesystem提供了一组API,用于处理文件和目录操作,简化了跨平台的文件系统编程。 9. **类型识别和类型转换**:Boost.TypeTraits和Boost.TypeIndex帮助开发者获取类型信息,并进行类型...

    Boost程序库完全开发指南

    Boost是一个跨平台的C++库集合,它提供了众多的开源库,广泛用于实现通用的编程任务,特别是那些对效率和可移植性要求高的任务。Boost库中的内容主要由C++标准委员会库工作组的成员开发,并被广泛地接受为未来C++...

    深入实践Boost:Boost程序库开发的94个秘笈(中文版)

    10. **序列化**:Boost.Serialization库允许将对象的状态序列化到文件或内存中,便于存储和恢复,对于持久化数据和跨平台迁移非常有帮助。 11. **类型识别与转换**:Boost.TypeTraits和Boost.TypeIndex可以帮助...

    boost第三方C++库

    Boost库是C++编程语言中的一个开源库集合,它提供了大量的高效、跨平台的库,以扩展C++的标准库功能。Boost库包含了各种各样的工具,涵盖了算法、数据结构、智能指针、元编程、多线程、I/O流、序列化、数学函数等多...

    Boost程序库完全开发指南_深入Cpp.准标准库及库详解

    Boost库是C++社区公认的高质量、跨平台的开源库,它为C++程序员提供了许多实用的工具,包括算法、数据结构、模板元编程、并发和多线程支持等。这本书不仅详尽地解释了Boost库的每个组件,而且深入讨论了如何在实际...

    C++ Boost Thread 编程指南

    为了解决这一难题,Boost线程库应运而生,它不仅提供了跨平台的多线程解决方案,还充分利用了C++的高级特性,如构造函数、析构函数、函数对象和模板,以实现更安全、更灵活的线程管理。 #### 创建线程:利用Boost::...

    boost 库 中文文档

    Boost库是一个开源的C++库集合,它提供了一系列高质量、跨平台的库,旨在提升C++的标准库功能,包括但不限于模板元编程、泛型编程、并行计算、数学算法、字符串处理、容器扩展等多个领域。Boost库是C++社区的重要...

    超越c++标准库 - boost程序库导论

    7. **文件系统操作**:Boost.Filesystem库提供了一个跨平台的接口来操作文件和目录,简化了文件系统相关的编程工作。 8. **正则表达式**:Boost.Regex库提供了高性能的正则表达式支持,它的功能强大且易于使用。 9...

Global site tag (gtag.js) - Google Analytics