C++服务器(七):Windows 下配置pthread

pthread

POSIX线程(POSIX threads),简称Pthreads,是线程的POSIX标准。[1]

这套接口在 Linux 下得到很好的支持。但是在 Windows 下却需要额外配置,不过过程倒是比较容易。
这里的配置针对GCC 编译器,如果是配置VC 的话,方法也差不多,大可以自己琢磨一下。

下载

通过以下网址get 到Windows版本的pthread:
ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

*自己注意一下,怎么在这里用到get 到最新的版本

解压

解压之后得到三个文件夹,其中 Pre_built.2 是我们需要的。
C++服务器(七):Windows 下配置pthread_第1张图片

Pre_built.2 中分别是动态链接库、头文件、静态链接库,当然也还有一些其他的东西
C++服务器(七):Windows 下配置pthread_第2张图片

路径的配置

对于GCC而言,各个路径配置如下:

 头文件:-I"$(PTHREAD)/include"
 库:-L"$(PTHREAD)/lib/x86" -lpthreadGC2

其中$(PTHREAD)表示你文件夹所在的位置,可以写绝对路径,也可以配置环境变量,随个人喜好。

简单的例子

测试一下:

// in test.cpp
#include<pthread.h>
#include<iostream>
using namespace std;

void* pthreadHello(void*)
{
    cout<<"pthread_hello"<<endl;
}

void ptheradTest()
{
    pthread_t tids[3];
    for(int i=0;i<3;++i)
    {
        pthread_create(tids+i, nullptr, pthreadHello, nullptr);
        pthread_join(tids[i], nullptr);
    }
    cout<<"end"<<endl;
}
int main()
{
     pthreadTest();
}

编译:

g++ test.cpp -std=c++11 -lpthreadGC2 -o fortest -I”C:\xiaojian\pthreads-w32-2-9-1-release\Pre-built.2\include” -L”C:\xiaojian\pthreads-w32-2-9-1-release\Pre-built.2\lib\x86”

结果:

pthread_hello
pthread_hello
pthread_hello
end

果然很简单,END

【参考资料】
[1] Pthread_百度百科
[2] 在windows下配置pthread

你可能感兴趣的:(C++服务器(七):Windows 下配置pthread)