私はいくつかの意見が必要です。 GCCは常に非常に優れたコンパイラでしたが、最近は「魅力」を失っています。 Windows GCCにはstd::thread
サポート。Windowsユーザーは、最もエキサイティングな機能がまだ不足しているため、別のコンパイラを使用する必要があります。
しかし、なぜGCCはまだWindowsでスレッドをサポートしていないのですか?ライセンスの問題? ABIの非互換性? (マルチスレッドを使用するクロスプラットフォームライブラリはすでにいくつかあります:boost、POCO、SDL、wxwidgetsなど。GCCリリースを出荷する代わりに、既存の既存のコードやMIT/libpngライセンスのコードをこの穴に合わせるのは簡単ではないでしょうか。スレッドのサポートなし?)
最近、コンパイラー比較を見ると、GCCは他のコンパイラーに関してC++ 11機能を最も広くサポートしていますが、Windowsではアトミック、ミューテックス、スレッドがまだないため、これは当てはまりません:/
このトピックについて詳しく知りたいのですが、見つけることができるのは、次の理由で助けを求めている人だけです。
「スレッド」はstd名前空間に存在しません
GCC/TDM-GCCのチケット追跡とメールディスカッションを見ると、2009年からスレッドサポートのリクエストがありました。4年経ってもまだ解決策がない可能性はありますか?本当に何が起こっているのですか?
GCCを維持している人々がやや傲慢になったためにGCCが支持を失っていることを理解し、LLVMがここに(そして非常に良い)人々が足で投票していることを理解しました。
Slashdotは LLVMのC++ 11の新しいサポート について議論しました。 _merlin 言う:
ああ、それが邪悪だと誰もが思っているとは思いません。寛大さというよりは純粋に自己利益であることだけです。 GCCの驚異的な人気により、メンテナーは大規模な自我を成長させ、合計のように振る舞っています[**** ]。バグはRed Hatよりも早く導入され、Appleはパッチを受け入れられる可能性があり、バグレポートを表示せず、実際に修正せずに非アクティブのためにバグを閉じるという厄介な癖があります。
4年の遅れについてのあなたの観察と一致します。
GCCの人気と使いやすさには疑問の余地はありません。
から https://stackoverflow.com/questions/12210102/does-gcc-4-7-1-support-threads mingw build at http://code.google.com/ p/mingw-builds/downloads/list はスレッドをサポートします。
ただし、重要な考慮事項はライセンスです。
FreeBSDはGPLと不安な関係にあります。 BSDライセンスの擁護者は、真にフリーなソフトウェアには使用制限がないと信じています。 GPLの支持者は、ソフトウェアの自由を保護するために制限が必要であり、特にフリーソフトウェアから非フリーソフトウェアを作成する能力は、自由というよりは不正な力の形態であると信じています。 FreeBSDプロジェクトは、可能な場合、GPLの使用を回避しようとします(詳細については https://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor- of-clang-llvm )
その他の重要な考慮事項
http://clang.llvm.org/comparison.html#gcc から
から http://www.linuxquestions.org/questions/slackware-14/gcc-vs-llvm-931034/
時間がかかるのは、ヘッダーを上に構築するための強固な基盤を得るために多くの作業が必要だからです。 mingw-w64がboのように見える方法は、Windowsでpthreadsのようなライブラリを構築することです。 Windows APIのネイティブスレッドへの依存関係を導入するよりも、上流の不機嫌さは少なくなります。
mingw-w64は、独自のwinpthreads
ライブラリの上に<thread>
およびその他のC++ 11ヘッダーを実装します。これは、mingw-w64ツールチェーンのMingw-buildsとrubenvbの両方のディストリビューションでのテストに使用できます。ネイティブのWindows GCC作業のほとんどの作業が行われた場所を追跡する場合は、mingw-w64メーリングリストに従うことをお勧めします。
Qtプロジェクトには、現在の推奨事項と、Windows上のGCCツールチェーンの概要を詳しく説明するWikiページがあります。詳細は このQtプロジェクトWikiページ を参照してください。