如果我试图用

#include <pthread.h>

在其中,我得到了一个错误:

pthread.h: No such file or directory

有没有可能在Windows环境下编译?

我正在使用Vista和最新的MinGW.

我不想使用Microsoft Windows Services for UNIX版本3.5,因为我必须将其移至Unix环境.

推荐答案

pthread.h是用于线程的Unix/Linux(POSIX)API的头.像Cygwin这样的POSIX层可能会编译一个带有#include <pthreads.h>的应用程序.

原生Windows线程API通过#include <windows.h>公开,其工作原理与Linux的线程略有不同.

尽管如此,仍有一个替换"gulp "库保持在http://sourceware.org/pthreads-win32/;请注意,它与MinGW/VS有一些轻微的不兼容性(例如,请参见here).

C++相关问答推荐

XV 6中的MLFQ和RR

char为16位且Short也为16位的c环境合法吗

数组元素的编号索引

C限制限定符是否可以通过指针传递?

为什么这个C程序代码会产生以下结果?

是否定义了数组指针类型转换为指针类型?""""

在#include中使用C宏变量

手动矢量化性能差异较大

如何在C中从函数返回指向数组的指针?

以前版本的tty_ldisc_ops.ioctl()是否也需要文件参数?

C语言中的strstr问题

如何使用C++在控制台中以彩色打印被阻止的客户端

关于scanf()和空格的问题

如何在C-函数中混合使用C代码和ASM?

-Wnonnull-Compare警告不是具有误导性吗?

条件跳转或移动取决于未初始化值(S)/未初始化值由堆分配创建(Realloc)

向左移位3如何得到以字节为单位的位数?

Dlsym()的手册页解决方法仍然容易出错?

我的代码可以与一个编译器一起使用,但不能与其他编译器一起使用

#define X Defined(Y) 是有效的 C/C++ 宏定义吗?