Windows下pthread多线程使用(1):准备工作

来源:互联网 发布:php网盘源码 编辑:程序博客网 时间:2024/06/04 06:41

下载pthreads-win32: http://sourceware.org/pthreads-win32/ 目前最新的似乎是2.9.1版本

根据你目标平台,选择并设置pthread的include、lib、dll(或bin)目录(请添加到path变量)

编写可用于windows的unistd.h (这里将此文件保存为unistd_windows.h)

#ifndef _UNISTD_H#define _UNISTD_H    1/* This file intended to serve as a drop-in replacement for*  unistd.h on Windows*  Please add functionality as neeeded*/#include<stdlib.h>#include<io.h>#include <process.h>#define srandom srand#define random randconst int W_OK = 2;const int R_OK = 4;#define access _access#define ftruncate _chsize#define ssize_t int#define STDIN_FILENO 0#define STDOUT_FILENO 1#define STDERR_FILENO 2/* should be in some equivalent to <sys/types.h> */typedef __int8 int8_t;typedef __int16 int16_t;typedef __int32 int32_t;typedef __int64 int64_t;typedef unsigned __int8 uint8_t;typedef unsigned __int16 uint16_t;typedef unsigned __int32 uint32_t;typedef unsigned __int64 uint64_t;#endif /* unistd.h */

你的头文件可能会是如下这样子(保存为cmnheader.h)

#define _MULTI_THREADED #include <pthread.h> #include <stdio.h>#include <string.h>#include <stdlib.h> #include <unistd_windows.h> #include <windows.h>#pragma comment(lib,"pthreadVC2.lib")#define __VOID(p)  ((void*)(p))#define __INT(p) ((int)(p))#define  checkResults(string, value) \{ \if (value!= 0) \{ \printf("Failed with %d at %s", value, string); \exit(1); \} \}

接下来就可以开始使用了

0 0
原创粉丝点击