2010-11-12 36 views
7

Tôi có một codebase sử dụng rộng rãi pthread.h. Trên một cửa sổ dự án studio trực quan, điều này rõ ràng là không hoạt động vì pthreads là một tiện ích unix.Sử dụng pthread.h trên một cửa sổ xây dựng

Tôi biết có tồn tại pthread-win32 hoặc thứ gì đó sắp xếp, nhưng có cách nào để sử dụng codebase này mà không thay thế tất cả mã pthread?

chỉnh sửa: Tôi không muốn phải trải qua và thay thế tất cả các cuộc gọi pthread. Đây là câu hỏi của tôi

+0

Có thể MinGW giúp ... – Vovanium

+0

Tôi không hiểu. Bạn nói rằng bạn biết rằng một thư viện pthread tồn tại cho win32, vậy tại sao bạn không sử dụng nó? – jalf

Trả lời

5

Hãy thử http://sourceware.org/pthreads-win32/. Trong khi tôi chưa bao giờ sử dụng thư viện cụ thể đó, tôi đã có may mắn bằng cách sử dụng một số cửa sổ cổng/lớp trừu tượng của API POSIX.

5

Tôi khuyên bạn nên tăng cường làm thư viện chứa trừu tượng chuỗi nền tảng độc lập. Tôi không nghĩ rằng bạn sẽ tìm thấy bất kỳ nỗ lực để gọi các chức năng pthread mình để đáp ứng. Nó cũng không phải là rất khó để bản đồ pthread để Win32 cho chính mình.

+0

+1 luôn sử dụng tăng. – SingleNegationElimination

+4

Không phải là rất hữu ích cho những người có một cơ sở mã hiện có bằng cách sử dụng pthreads nơi họ muốn không phải viết lại các luồng luồng mặc dù. :) – jalf

+0

Tôi đã thực hiện nó nhiều lần. Tìm kiếm/thay thế toàn cầu được phát minh vì một lý do. – bmargulies

2

Nếu mã rất nặng * dựa trên nền tảng nix, có thể bạn sẽ có may mắn khi biên dịch nó với Cygwin + GCC. Nếu pthreads là phụ thuộc duy nhất * nix và bạn muốn tránh sự phụ thuộc Cygwin, thì bạn nên đi với Pthreads-win32.

Các vấn đề liên quan