我有一個廣泛使用pthread.h的代碼庫。在windows visual studio項目中,這顯然不起作用,因爲pthreads是一個unix實用程序。在windows上使用pthread.h
我知道存在並行線程-win32的或類似的東西,但有沒有辦法有一個代碼庫使用,無需更換所有的並行線程的代碼?
編輯:我寧願沒有去通過,並更換所有的並行線程調用。這是我的問題
我有一個廣泛使用pthread.h的代碼庫。在windows visual studio項目中,這顯然不起作用,因爲pthreads是一個unix實用程序。在windows上使用pthread.h
我知道存在並行線程-win32的或類似的東西,但有沒有辦法有一個代碼庫使用,無需更換所有的並行線程的代碼?
編輯:我寧願沒有去通過,並更換所有的並行線程調用。這是我的問題
嘗試http://sourceware.org/pthreads-win32/。雖然我從來沒有使用過特定的庫,但我已經運用了POSIX API的一些窗口端口/抽象層。
我會建議提升爲包含一個獨立於平臺的線程抽象庫。我不認爲你會發現任何嘗試調用pthread函數本身是令人滿意的。自己將pthread映射到Win32也不是很困難。
+1總是使用提升。 – SingleNegationElimination 2010-11-13 00:31:16
對於擁有使用pthreads的現有代碼庫的人來說不是非常有用,他們不希望不必重寫線程代碼。 :) – jalf 2010-11-13 04:06:02
我已經做了很多次。全球搜索/替換是有原因發明的。 – bmargulies 2010-11-13 13:14:24
如果代碼是非常沉重的* nix爲主,你可能會擁有最好的運氣Cygwin + GCC編譯它。如果pthreads是唯一的* nix依賴項,並且您希望避免Cygwin依賴項,那麼您應該使用Pthreads-win32。
也許MinGW的幫助... – Vovanium 2010-11-12 23:58:06
我不明白。你說你知道一個pthread庫存在win32,那麼你爲什麼不使用它? – jalf 2010-11-13 04:05:12