在windows build上使用pthread.h

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

我知道存在pthread-win32或类似的东西,但有没有办法让代码库使用它,而不替换所有的pthread代码?

编辑:我宁愿不必经历并替换所有的pthread调用。 这是我的问题

试试http://sourceware.org/pthreads-win32/ 。 虽然我从未使用过那个特定的库,但我很幸运使用了POSIX API的一些Windows端口/抽象层。

我建议将boost作为一个包含独立于平台的线程抽象的库。 我认为你不会发现任何试图将pthread函数称为满足的尝试。 将pthread映射到Win32也不是很难。

如果代码非常基于* nix,那么使用Cygwin + GCC编译它可能会有最好的运气。 如果pthreads是唯一的* nix依赖项并且您想要避免Cygwin依赖项,那么您应该使用Pthreads-win32 。