Windows上でのC/C++開発環境概要¶
全般¶
商用のコンパイラとオープンソースのコンパイラが利用できます。特に最近GNU Compiler由来のコンパイラが幾種類か利用できるようになっています。
商用のコンパイラ¶
- MicrosoftのVisual Studio
- IntelのC++ Composer XE
- Embarcadero(旧Borland)のC++ Builder XE
などがあります。
Visual StudioやC++ Builderは統合開発環境(IDE)として製品化されています。
C++ Composerは並列処理が強化されたコンパイラで、統合開発環境はVisual Studioを利用する構成です。
オープンソースのコンパイラ¶
- Cygwin GCC
- MinGW 32bit 64bit
- TDM-GCC
などがあります。いずれもコマンドラインツールで、統合開発環境はEmacs、Vim、Eclipse、NetBeansなどを使います。
ライセンスメモ¶
- Cygwin GCC
GPLv3と商用ライセンスのデュアルライセンスです。商用ライセンスはRed Hatから購入できるようです。
http://www.redhat.com/services/custom/cygwin/
CygwinのGCCでビルドしたプログラムはGPLが適用されるcygwin1.dllとリンクしているので、商用ライセンスを購入しないとプログラムがGPL派生物となります。
- MinGW
デフォルトではmsvcrt(MicrosoftのCランタイムライブラリ)とリンクするのでMinGWでビルドしたプログラムはGPLにはなりません。
ただし、ライブラリを追加する場合、それぞれのライブラリのライセンスを確認する必要があります。- libstdc++ C++標準ライブラリです。ライセンスはGPLv3 + GCC Runtime Library Exceptionです。
- pthread POSIXスレッドライブラリです。ライセンスはLGPLv2+
詳細¶
Visual Studio¶
MinGW¶
NetBeans¶
プログラミングモデル¶
64bit¶
Windows 64bitでは、単一の静的なデータオブジェクト(例:静的領域に確保した配列)が2GBを超えることができないようです(データセクションのサイズ制限)。
2GBを超える単一データオブジェクトを扱うには、ヒープに割り当てる必要があります。