vs2010下配置pthread

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在VS2010下,用C语言编写pthread多线程程序的配置

1、从/pthreads-win32/下载pthread 的windows安装包,我下的是pthread-w32-2-9-1-release.zip,其他版本也可以。解压到pthread-w32-2-9-1-release。

2、打开vs2010,项目->属性->配置属性->VC++目录,包含目录里添加inlude路径,如下图所示,如果刚下载的压缩包放在D盘,则在包含目录那一栏添加:D:\pthread-w32-2-9-1-release\Pre-built.2\inc lude;在库目录那一栏添加:D:\pthrea-w32-2-9-1-release\Pre-built2\lib

3、在链接器—>输入,附加依赖项一栏添加

pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;如下图所示。所有设置完成后点确定。

4、打开pthread-w32-2-9-1-release\Pre-built.2\lib\X86,将里面三个*.lib文件复制到你所建立的工程目录中去,这样就设置好了,大功告成。

如下一个简单的程序实例。

#include

#include

#include

#define NUM_THREADS 4

typedef struct{

int threadId;

}threadParm_t;

void *threadFunc(void *parm)

{

threadParm_t *p=(threadParm_t *)parm;

fprintf(stdout,"Hello world from thread%d\n",p->threadId);

pthread_exit((void *)&(p->threadId));

return 0;

}

int main(int argc,char *argv[])

{

int i;

int *res;

res=(int *)malloc(sizeof(int));

pthread_t thread[NUM_THREADS];

threadParm_t threadParm[NUM_THREADS];

for(i=0;i

{

threadParm[i].threadId=i;

pthread_create(&thread[i],NULL,threadFunc,(void *)&threadParm[i]);

}

for(i=0;i

{

pthread_join(thread[i],(void **)&res);

fprintf(stdout,"Thread %d has exited.\n",*res);

}

system("pause");

return 0;

}

运行程序得到如下结果。

相关文档
最新文档