`
kmplayer
  • 浏览: 508660 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

并发学习之一_windows下ZThread在CodeBlocks上的安装与配置

阅读更多
近日在研读Bruce Eckel的《C++编程思想 第二卷实用编程技术》。阅读到"并发"这章,作者使用开源的ZThread作为线程库。总结下自己在CodeBlocks下配置ZTread的过程.

1,所需安装程序.(附件提供,包括libthread.a)

(1)ZThread-2.3.2 
下载地址:http://zthread.sourceforge.net

(2)附加工具:Patch for Windows 之patch-2.5.9-7-setup.exe
下载地址:http://sourceforge.net/projects/gnuwin32/files/patch/

(3)ZThread参数修改文件:zthread-2.3.2-no-fpermissive.diff

下载地址:http://bugs.gentoo.org/attachment.cgi?id=161093

将里面的内容复制到记事本,然后保存为 zthread-2.3.2-no-fpermissive.diff


2,详细步骤:

(1)解压ZThread-2.3.2

(2)将zthread-2.3.2-no-fpermissive.diff 文件拷贝到zthread-2.3.2\目录中。

(3)安装Patch for Windows,添加环境变量
我的电脑-属性-高级-环境变量-系统变量,找到"PATH"-编辑-在末尾添加";C:\Program Files\GnuWin32\bin",即patch安装目录下的bin路径。

(4)开始-运行-cmd;进入zthread的安装目录.以我为例:cd c:\zthread-2.3.2.执行:
patch -p0 -i zthread-2.3.2-no-fpermissive.diff

这个diff文件是修改了zthread-2.3.2\include\zthread下的某些文件。所以,如果该命令执行错误的话,那么,将 zthread-2.3.2\include\zthread下的东西删除干净,然后拷贝一份新的过去 ,再执行。这样就不会受到执行错误的痕迹的影响。
如果成功应该出现下面的信息:
patching file 'include/zthread/Guard.h'
patching file 'src/MutexImpl.h'
如图:




(5)打开CodeBlocks,FILE-NEW-PROJECT-static library,然后选择菜单Project中Add files...,将zthread-2.3.2\\src\目录下的所有.cxx文件添加进来.如下图所示:





(6)右键单击左侧工程名,选择Build Option.在search directorys--添加 zthread-2.3.2\include路径.如下图所示:



(7)编译-链接,就会产生一个.a的静态库文件.将该文件拷贝到一个目录下.如:C:\mylib\libthread.a,便于下次使用.

(8)正式开始使用ZThread库。
新建一个console工程,如(6),添加zthread-2.3.2\include路径.
添加静态库:右键单击左侧工程名,选择Build Option.在Linker settings--添加libthread.a,在文本框中填写-lwinmm 回车.如下图所示:




配置完成,即可正确使用ZThread了.
  • 大小: 44.5 KB
  • 大小: 151.5 KB
  • 大小: 161.9 KB
  • 大小: 141.2 KB
分享到:
评论
1 楼 knightchen 2011-01-01  
博主,你太强了!这篇文章对我学习C++多线程很有帮助!谢谢

相关推荐

    ZThread库安装方法

    ZThread库是一个在C++编程语言中用于实现多线程功能的开源库,它在《Thinking in C++》这本经典教程中被广泛引用。在实际的开发环境中,多线程编程是提升程序效率和并发处理能力的重要手段,ZThread库为此提供了方便...

    zthread项目在win7中用vs2010编译通过

    3. **库目录**:如果Zthread库是动态链接库(.dll),还需在“配置属性”>“链接器”>“常规”下的“附加库目录”中,添加.dll文件的存放路径。 4. **链接器选项**:如果使用了动态链接库,还需要在“配置属性”>...

    ZThread库 Wince下的DLL版

    例如,它可能包含如`ZThread_create()`用于创建线程,`ZThread_join()`用于等待线程结束,以及`ZThread_mutex()`等同步机制,帮助开发者避免常见的竞态条件和死锁问题。 ZThread库还可能提供了一些高级特性,比如...

    跨平台线程库 ZThread入门

    ZThread 库适用于那些希望在不同操作系统上实现多线程应用的开发者,如 Windows、Linux 和 macOS 等。它的主要目标是通过提供统一的 API,让开发者能够编写可移植的多线程代码。 ### 1. ZThread 的基本概念 - **...

    zthread源码和posix pthread库的静态动态库以及头文件

    本文将深入探讨ZThread库2.3.1版本及其与POSIX pthread库的关系,同时介绍如何在Windows平台上编译和使用这两个库。 首先,ZThread是一个开源的C++线程库,它为开发人员提供了简化线程操作的接口。ZThread的设计...

    ZThread库的静态库Lib版

    3. 在项目属性中,设置配置类型为“Static Library”(静态库),确保目标平台与操作系统兼容。 4. 将ZThread源代码添加到项目中,包括头文件和源文件。 5. 编译项目,如果一切顺利,将会生成名为ZThread.lib的静态...

    zthread线程库

    - **操作系统支持**:ZThread库设计时考虑了跨平台性,能够运行在Windows、Linux、macOS等多种操作系统上,使得代码可移植性增强。 - **API适配**:针对不同操作系统,ZThread库内部会适配相应的系统调用,如...

    ZThread-2.3.2.tar.gz

    7. **移植性**:ZThread-2.3.2是跨平台的,可以在多种操作系统上运行,包括Linux、Windows和Mac OS X等,这得益于其对POSIX线程API的良好封装。 8. **文档与社区支持**:ZThread拥有详细的文档和活跃的社区,用户...

    VS2005 版的 ZThread 及示例代码

    **ZThread库与VS2005的结合** 在C++编程中,多线程技术是一种常见的提升程序执行效率的方法,允许程序同时执行多个任务。`ZThread`是一个开源的C++线程库,它提供了方便的接口来管理和操作线程,简化了多线程编程的...

    Centos安装ZThread2.3.2

    总的来说,安装ZThread 2.3.2在CentOS上是一个相对标准的过程,涉及到下载源码、配置、编译和安装步骤。在其他Linux发行版或特定环境中,可能需要额外的步骤或调整。对于开发者来说,理解这些流程是管理和维护软件...

    已编译的ZThread多线程库

    6. **跨平台兼容性**:ZThread的一个重要特性是它的跨平台性,这意味着无论是在Windows、Linux还是其他操作系统上,开发者都可以使用相同的API进行多线程编程,减少了移植的复杂性。 7. **编译环境兼容**:提供的...

    ZThread源文件及Window下编译生成的文件

    ZThread的最新源文件及自己编译生成的静态库文件,动态库文件,可以直接用来进行C++的并发编程,也可以自己编译,Windows及Linux的编译方法见http://blog.csdn.net/lanbing510/article/details/8441258

    ZThread-2.3.2

    在IT领域,多线程编程是提升程序性能和并发处理能力的重要手段,特别是在现代计算机系统中,多核心处理器的普及使得多线程技术成为必备技能。`ZThread` 是一个针对C++设计的多线程库,版本为2.3.2,它提供了一种简洁...

    zthread patch

    zthread patch,主要解决编译和BlockingQueue的问题。 使用方法: cd zthread_xxx_dir patch -p1 < zthread.patch

    zthread2.3.2 代码和lib

    6. **跨平台兼容性**:zthread2.3.2支持多种操作系统,包括Windows、Linux、Mac OS等,这得益于其底层的系统API抽象,使得代码可以在不同的平台上无缝运行。 了解了这些核心概念后,我们再来看看zthread-all-2.3.2...

    ZThread库 动态库DLL版

    在Windows平台下,动态链接库(DLL)是一种可执行文件格式,允许多个程序共享同一段代码,从而节省内存并便于软件更新。在本实例中,ZThread库已通过Visual Studio 2005(VS2005)编译完成,并导出了大部分常用接口...

    ZThread-2.3.2 C++多线程库

    ZThread-2.3.2 C++多线程库,在linux下编多线程程序很值得参考

    ZThread 静态库

    ZThread是开源的多线程库,这里提供了已经编译好的静态库。

    src_pseuwo

    然而,从给出的标签“woo Wo”中,我们可以推测这可能与一个名为“Woo”的项目或技术有关,但没有足够的上下文来确定其确切含义。 接下来,我们将分析压缩包子文件的文件名称列表,这些文件名提供了项目构建和管理...

Global site tag (gtag.js) - Google Analytics