明らかな候補の少なくともいくつか:
VC++: VC++ 2010 の時点で、一部の C++11 機能のサポートが開始されています。VC++11 (現在ベータ テスト中) にはさらにいくつかの機能が追加されています。かなりまともなコード生成、かなりの数の人々が手に入れることができる最高のものだと考えるデバッガー、そしてかなり複雑なレビューを生成するIDEを備えています. それらを使用した多くの人は、古い世代の IDE (VC++5 および 6) の方が少なくともいくつかの点で優れていると考えていますが、コンパイラはその後大幅に改善されたため、ほとんどの人にとって古い IDE は実際にはオプションではありません (古いコードのサポートを除く)。
MinGW: STL の現在のパッケージには gcc 4.7.0 が含まれており、(少なくとも間違いなく) VC++ よりも C++11 のサポートがいくらか優れています。かなりの数の移植された Unix/Linux ツールが含まれていますが、基本的にはコマンド ラインのみの環境です。IDE のようなものが必要な場合は、個別にインストール/構成する必要があります。
Cygwin: これも gcc をベースにしていますが、コンパイラを Windows に移植する代わりに、Linux を Windows に移植し、移植した Linux でコンパイラを実行します。明らかに、私は (少し) 誇張していますが、大したことではありません。Cygwin は、Windows で Linux/Unix コードをできるだけ少ない変更で実行することを主な目的としています。彼らが出荷するツールもそれに適合しています.Windowsカーネルの下で実行されるUnixのような環境になるように最善を尽くしています. それは間違いなく、新しい開発のための私の最初の選択ではありません.
Qt Creator/SDK: これは gcc の別のパッケージですが、IDE を使用します。Qt を使用してコードを記述したい場合は、Qt が最初の選択肢になる可能性があります。それ以外の場合は、おそらくそれを避けるでしょう。それ以外の場合はおそらく問題なく動作しますが、デフォルトとして Qt を想定して記述されています。
Eclipse/CDT: g++ のコピーと一緒にパッケージ化されています。少なくとも最後に試したときは、正しくコンパイルする前に、構成にかなりの作業が必要でした。Eclipse を他の目的で使用する場合は、Eclipse で C++ を実行できるようにすることはおそらく価値があります。そうでなければ、私は個人的にそれを避けます。
C++ Builder: Borland の時代、これは Microsoft の支配に対する最大の挑戦者でした。Embarcadero は、再びメインストリームに戻そうとしているようです。ここでは、コンパイラ自体よりも、IDE、GUI ツールキットなどに重点が置かれているようです。コンパイラ自体は、gcc や VC++ よりやや遅れているようです。スターター エディションの価格は $150 で、出力の販売は $1000 に制限されています。この時点で、$1000 のほとんどを Professional エディションへのアップグレードに費やす必要があります。
Clang: 主要なコンパイラの中で最も最近開始されたものですが、実際には最高のコンパイラの 1 つとして機能しています。利用可能などのコンパイラよりも優れた診断機能を備えています。LLVM をターゲットにしているため、実行時分析などのさまざまなツールが提供されます。ただし、その主要な企業スポンサーは Apple であるため、Windows では OS/X (および現在はデフォルトのコンパイラ) で問題なく動作しますが、多くのことは自分で行う必要があります。これをインストールするために、他のコンパイラがインストールされて動作している(そして実際にその使用方法を知っている)必要があります。Windows では、これはジャンク ヤードからマッスル カーを購入するようなものです。十分な作業を行えば、街で最もクールな車にたどり着くかもしれませんが、Windows では現在、ツールというよりはプロジェクトです。
一般的に避けるべきいくつかの追加事項:
- 2008 年頃より前の VC++ の任意のバージョン。単純に C++ の劣った実装。
- 4.x より前の g++ のすべてのバージョン。繰り返しますが、C++ の劣った実装です。
- djgpp: 最悪中の最悪。これは実際には (カスタム) DOS エクステンダを使用して MS-DOS をターゲットにしています。gcc の古いバージョンは、ひどさを補っています。
- OpenWatcom: また、主に MS-DOS をターゲットにしています。djgpp よりも優れた DOS エクステンダを使用していますが、それはほのかな賞賛に値するものです。コンパイラは、C++98 に完全に準拠しているわけではありません。C++11 の更新は、(あったとしても) すぐに来る可能性は低いと思います。
- Digital Mars: Walter Bright は現在、主に彼自身の D 言語に取り組んでいます。C++ コンパイラはまだ利用できますが、それがコンパイルする C++ はかなり時代遅れです。
まとめ: IDE が必要な場合は、VC++ Express が最適です。最新の C++11 機能に関心があり、コマンド ラインからの作業を気にしない場合は、おそらく MinGW が最適です。他のものには確かにニッチがありますが、あなたの目的が主に新しいポータブル C++ を書くことである場合、それらのほとんどは劣っていると思います。