MinGW-w64 は Win32 スレッド モデルの std::thread をネイティブにサポートしていますか?
MinGW-w64 ツールチェーンを使用する場合、Win32 を選択しますスレッド モデルは、C 11 スレッド サポートの可用性に関する懸念を引き起こす可能性があります。
当初は、前のステートメントに基づいて、スレッド モデルに関係なく std::thread を使用できると考えられていました。しかし、その仮定は間違っていることが判明しました。
-std=c 11 を指定して g を呼び出したにもかかわらず、std::thread はサポートされないままです。この矛盾を調整するためのオプションは次のとおりです。
ただし、「質問内の「すぐに使える」資格には、mingw-std-threads などのサードパーティ オプションは含まれません。
ネイティブ std::thread サポート
2016 年 5 月現在、 Win32 スレッド モデルを使用した MinGW-w64 のネイティブ std::thread サポートは、mingw-std-threads ヘッダーをインストールすることで実現されます。
これは、スレッドを実装する他の GCC インストールのようなネイティブ スレッド サポートが MinGW-w64 にないためです。 gthread または pthread 経由。 MinGW-w64 にも glibc ポートがありませんが、MSVC ランタイムと独自のコードを使用して不足しているコンポーネントを埋めています。
MinGW-w64 の最近のバージョンには、pthreads (「winpthreads」) の Win32 ポートが含まれており、これが選択する理由の説明になります。インストール中の「pthread」モデルによりスレッドが有効になります。
以上がWin32 スレッド モデルの MinGW-w64 は std::thread をネイティブにサポートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。