C++ 在windows版本上使用pthread.h

C++ 在windows版本上使用pthread.h,c++,c,pthreads,C++,C,Pthreads,我有一个广泛使用pthread.h的代码库。在windows visual studio项目中,这显然不起作用,因为pthreads是一个unix实用程序 我知道存在pthread-win32或类似的东西,但是有没有一种方法可以让代码库使用它,而不替换所有pthread代码 编辑:我希望不必执行并替换所有pthread调用。这是我的问题我建议将boost作为一个包含独立于平台的线程抽象的库。我认为您不会发现任何调用pthread函数本身的尝试令人满意。自己将pthread映射到Win32也不是很

我有一个广泛使用pthread.h的代码库。在windows visual studio项目中,这显然不起作用,因为pthreads是一个unix实用程序

我知道存在pthread-win32或类似的东西,但是有没有一种方法可以让代码库使用它,而不替换所有pthread代码


编辑:我希望不必执行并替换所有pthread调用。这是我的问题

我建议将boost作为一个包含独立于平台的线程抽象的库。我认为您不会发现任何调用pthread函数本身的尝试令人满意。自己将pthread映射到Win32也不是很难。

试试看。虽然我从未使用过这个特定的库,但我很幸运地使用了一些POSIXAPI的windows端口/抽象层。

如果代码非常基于*nix,那么您可能会很幸运地使用+GCC编译它。如果pthreads是唯一的*nix依赖项,并且您希望避免Cygwin依赖项,那么您应该使用它。

我不明白。你说你知道win32有一个pthread库,那么为什么不使用它呢?对于那些使用pthread的现有代码库的人来说,这不是很有用,因为他们不想重写线程代码我已经做过很多次了。全局搜索/替换的发明有一个原因。这个原因不是在具有潜在语义差异的API之间切换。这个答案与主题无关。如果你的螺丝有问题,你不应该把整辆车换成任何你能找到的新螺丝。