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

来源:互联网 发布:电影语言翻译软件 编辑:程序博客网 时间:2024/05/22 07:04

###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;}





原创粉丝点击