Windows 7 64bit和Visual Studio 2010下安装及使用Pthread-w32 2.8
Pthread是由POSIX提出的一套通用的线程库,它广泛的被各种Unix系统所支持。因此,它Unix/Linux平台下具有很好的可移植性。然而,win32平台尚未,看起来将来也不准备支持Pthread标准。为了解决这个为题,Pthread-w32提供了一个高效的win平台下的对Pthread线程库。通过使用这个库,我们可以更加方便的把win32程序移植到nix/Linux平台下。本文简单介绍了Pthread-w32的安装与使用。
官方网站: http://sourceware.org/pthreads-win32/
1).下载Windows版本的pthread。目前最新版本是:pthreads-w32-2-8-0-release.exe。主页地址:
http://sourceware.org/pthreads-win32/。
2).双击pthreads-w32-2-8-0-release.exe,会出现解压对话框,"browse"选择指定目录,"extract"解压,"done"完成。
3).完成后,该目录会多出三个文件夹:Pre-built.2,pthreads.2,QueueUserAPCEx。这里我们主要使用Pre-built.2,里面包含了编译好的lib和dll。我们需要的头文件和库文件也包含在这个文件夹中。pthreads.2文件夹中包含了源代码。我们也可自行编译需要的库文件。
4).新建一个win32控制台程序。命名为Pthread_Test。代码后附。
5). 在Project ->Pthread_Test Properties -> Configuration Properties-> C/C++ -> General ->Additional Include Directories 中增加头文件路径。
6). 在Project ->Pthread_Test Properties -> Configuration Properties-> Linker -> General-> Additional Library Directories 中增加库文件路径。我用的是x86库。
7). 在Project ->Pthread_Test Properties -> Configuration Properties-> Linker -> Input ->Additional Dependencies中增加所依赖的库文件。这里我们使用的IDE是VS2010,所以我们使用pthreadVSE2.lib。各个库的不同之处在pthreads.2下的README文档中有介绍。
8) 在system path中添加dll文件的路径,或者把dll加入到所在项目文件夹中。我用的是x86文件夹。
官方网站: http://sourceware.org/pthreads-win32/
8) 在system path中添加dll文件的路径,或者把dll加入到所在项目文件夹中。我用的是x86文件夹。
Pthread_Test.cpp代码:
// Pthread_Test.cpp : Defines the entry point for the consoleapplication.
//
#include "stdafx.h"
#include <stdio.h>
#include <pthread.h>
#include <assert.h>
void* Function_t(void* Param);
int _tmain(int argc, _TCHAR* argv[])
{
}
void* Function_t(void* Param)
{
}