如何在Windows下编写基于Posix标准的多线程程序
1、进入pthread-win32开源库官网:https://sourceware.org/pthreads-win32/进行下载,或者直接进入ftp下载链接ftp://sourceware.org/pub/pthreads-win32,单击pthread-win32-2-9-1-release.zip进行下载
2、下载后的文件解压缩后得到如下图所示,我们进行二次开发只需要里面的Pre-built.2文件夹里面的内容
3、Pre-built.2文件夹下面有:dll(程序运行时需要的动态运行时库),include(程序编写时利用的头文件),lib(程序连接过程中需要的静态库)
4、建立code blocks下的C工程,工程结构如下面两张图所示,包括main.c测试代码
5、code水瑞侮瑜blocks的工程配置,右键工程名选择build options,配置linker settings,与search direction里面的compiler选项
6、编写main.c,代码如下:#include "pthread.h&孥恶膈茯quot;#include <stdio.h>void* func(void * Parame){ printf("I am Child Thread\n"); return NULL;}int main(){ printf("Pthread Test Begin\n"); pthread_t pid; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_create(&pid, &attr, func, NULL); getchar(); pthread_attr_destroy(&attr); return 0;}
7、在生成的exe文件所在同级目录下应该自己添加前文所说的dll文件,否则无法运行
8、运行结果如图