programing

UNIX의 pthread.h를 Windows에서 컴파일할 수 있습니까?

newsource 2022. 8. 13. 12:16

UNIX의 pthread.h를 Windows에서 컴파일할 수 있습니까?

프로그램을 컴파일하려고 하면

#include <pthread.h>

에러가 표시됩니다.

pthread.h: No such file or directory

Windows 환경에서 컴파일 할 수 있습니까?

최신 MinGW에서 Vista를 사용하고 있습니다.

Microsoft Windows Services for UNIX Version 3.5는 Unix 환경으로 이행해야 하므로 사용하지 않습니다.

pthread.h는 스레드용 Unix/Linux(POSIX) API의 헤더입니다.Cygwin과 같은 POSIX 계층은 아마도 앱을 컴파일할 것입니다.#include <pthreads.h>.

네이티브 윈도 스레드 API는 다음 방법으로 공개됩니다.#include <windows.h>Linux 스레드화와는 조금 다르게 동작합니다.

다만, http://sourceware.org/pthreads-win32/에서는 교환용 「하드웨어」라이브러리가 유지되고 있습니다.MinGW/VS와 약간의 호환성이 없는 것에 주의해 주세요(예를 들어, 여기를 참조).

@Ninefingers에서 언급했듯이 pthread는 unix 전용입니다.포식스만, 정말.

즉, Microsoft에는 pthreads를 복제하는 라이브러리가 있습니다.

UNIX 버전 3.5용 Microsoft Windows 서비스

라이브러리 다운로드

pthread.hWindows에 없습니다.그러나 Windows에는 Create Thread부터 시작하는 광범위한 스레드 기능이 있습니다.

WinAPI를 다른 시스템 API의 렌즈로 보는 것을 들키지 말라는 조언입니다.이 시스템은 다릅니다.쾌적한 Linux 자전거 시트로 Win32 자전거를 타는 것과 같습니다.글쎄요, 좌석이 맞지 않을 수도 있고, 경우에 따라서는 그냥 떨어질 수도 있습니다.

스레드는 여러 시스템에서 거의 동일하게 작동합니다. 스레드 풀과 뮤텍스있습니다.둘 다와 함께 작업한 적이 있음pthreadsWindows 스레드에는, Windows 스레드보다 훨씬 많은 기능이 있습니다.pthread한다.

다른 API를 배우는 것은 매우 간단합니다.개념(뮤텍스 등)으로 생각하고 MSDN에서 그 중 하나를 작성하는 방법을 찾아보세요.

TDM-GCC 64x 패키지를 집어들기만 하면 됩니다.(MinGW 툴 체인의 32비트 버전과 64비트 버전을 모두 제한하여 깔끔한 설치 내에 있습니다).더 중요한 것은 "winpthread" 라이브러리라고 불리는 것을 포함하고 있다는 것입니다.

구성 요소:pthread.h헤더,libwinpthread.a,libwinpthread.dll.a32비트 및 64비트용 정적 라이브러리 및 필수 .dllslibwinpthread-1.dll그리고.libwinpthread_64-1.dll(2016년 1월 6일 현재).

이제 '접속하다'에libwinpthread.a츠요시그 외에는 Linux의 네이티브 Pthread 코드와 동일한 코드를 사용할 수 있습니다.지금까지 윈도우에서 64비트의 기본적인 Pthread 프로그램을 성공적으로 컴파일했습니다.

또는 Windows 스레드 API를 pthreads API로 랩하는 라이브러리 pthreads-win32 를 사용할 수도 있습니다.

위의 두 가지가 가장 잘 알려진 방법인 것 같습니다.

이게 도움이 됐으면 좋겠다.

윈도우용 gnu 툴 체인에는 mingw와 cygwin 두 가지 배포가 있습니다.

저는 sygwin 작업이 기대됩니다.그것을 「스타드」포식스 환경으로 만들기 위해서, 많은 노력이 행해지고 있습니다.

mingw 툴체인은 런타임에 msvcrt.dll을 사용하기 때문에 msvcrt의 "스레드" api: _beginthread를 표시합니다.<process.h>

언급URL : https://stackoverflow.com/questions/2150938/can-i-get-unixs-pthread-h-to-compile-in-windows