您的位置:首页 > 其它

【多线程】pthreads-win32静态库动态库编译方法以及demo示例

2017-11-08 21:57 501 查看
###Date: 2017/11/6

一、pthread-win32多线程库简介

 pthread-win32是POSIX多线程库的windows实现,同Linux下的多线程库具有同样的实现。

pthread-win32下载地址:https://www.sourceware.org/pthreads-win32/


二、pthread-win32动态库静态库编译方法及注意事项

(1)、解压下载后的压缩件,解压后,有“Pre-built.2”、“pthreads.2”两个文件夹,源码就在pthreads.2文件夹下。

(2)、用vs2010打开pthreads.2下面的工程“pthread.dsw”

(3)、vs工程打开后,打开项目的属性页-》配置属性-》常规-》配置类型-》静态库(.lib)

(4)、vs工程打开后,打开项目的属性也-》配置属性-》C/C++-》预处理器-》预处理定义添加:PTW32_STATIC_LIB

(5)、在使用phread-win32静态库的项目中,项目属性-》配置属性-》C/C++-》预处理器-》预处理定义也要添加:PTW32_STATIC_LIB

三、demo测试

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void* tprocess1(void* args){
int i = 1;
while (i <= 100){
printf("process1:%d\n", i);
i++;
}
return NULL;
}
void* tprocess2(void* args){
int i = 1;
while (i <= 100){
printf("process2:%d\n", i);
i++;

}
return NULL;
}
int main(){
pthread_t t1;
pthread_t t2;
pthread_create(&t1, NULL, tprocess1, NULL);
pthread_create(&t2, NULL, tprocess2, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: