【系统运维】windows下pthread线程库的使用

    一直以来,由于标准C++中没有纳入线程库,对于多线程的编程感到束手无策,win32的线程机制感觉用着不便。今天想搜索一下有没有其他线程库,想到了Unix下随处可见的pthread线程库,但是苦于这个库是针对unix系统设计的,无法拿到VS中使用。Google了一下,竟然有win32版的pthread,心中大快。赶紧下来使用了一下,当真可行,故分享之。

下载

建议大家下载:

ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe这个自解压文件,压缩包里的pthreads.2目录是源码,Pre-built.2目录是编译所需的头文件和库文件。


如果要自行编译请看这里:

使用微软的CL来编译:
rem cl.bat
cl.exe main.cpp /c /I"c:/pthreads-w32-2-7-0-release/Pre-built.2/include"
link.exe /out:main_cl.exe main.obj /LIBPATH:"c:/pthreads-w32-2-7-0-release/Pre-built.2/lib" pthreadVC2.lib
pause

或者使用GCC来编译:
rem gcc.bat
g++.exe -o main.o -c main.cpp -I"c:/pthreads-w32-2-7-0-release/Pre-built.2/include"
g++.exe -o main_gcc.exe main.o "c:/pthreads-w32-2-7-0-release/Pre-built.2/lib/libpthreadGC2.a"
pause

嘿嘿!开源就是好啊,跨平台实现得如此容易


使用

建好工程后。
VS-工具-选项-项目和解决方案-VC++目录,右边引用文件添加目录***/include,库文件添加目录***/lib
下面①②选一种就可以
①然后在include pthread之后加句
#pragma comment(lib, "pthreadVC2.lib")

②或者在项目-属性-配置属性-链接器-常规-附加库目录,加进库目录
在项目-属性-配置属性-链接器-输入-附加依赖项,加进lib库名

最后在windows/system32里复制进pthreadVC2.dll。这文件在Pre-built.2里有。然后编译就ok了。


OK!现在写一个简单的pthread来测试:

// main.cpp
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值