我有一个广泛使用pthread.h的代码库。在Windows visual studio项目中,这显然不起作用,因为pthreads是一个unix实用程序。
我知道存在pthread-win32或类似的东西,但有没有办法让代码库使用它,而不替换所有的pthread代码?
编辑:我宁愿不必经历并替换所有的pthread调用。这是我的问题
答案 0 :(得分:5)
我建议将boost作为包含独立于平台的线程抽象的库。我认为你不会发现任何试图将pthread函数称为满足的尝试。将pthread映射到Win32也不是很难。
答案 1 :(得分:5)
试试http://sourceware.org/pthreads-win32/。虽然我从未使用过那个特定的库,但我很幸运使用了POSIX API的一些Windows端口/抽象层。
答案 2 :(得分:2)
如果代码非常基于* nix,那么使用Cygwin + GCC编译它可能会有最好的运气。如果pthreads是唯一的* nix依赖项,并且您希望避免Cygwin依赖项,那么您应该使用Pthreads-win32。