Please add this to Paul's answer:
If you are developing a cross-platform product, use g ++ ( MingW ) and adhere to the C ++ standard. Use the POSIX-compliant APIs provided by MingW where standard tools do not serve this purpose. An executable file created using MingW does not require special runtime for the target system, but VC ++ 2008 requires this. Thus, deployment is easier with MingW applications.
The advantage of VC ++ is its excellent development environment. The Microsoft compiler also seems to perform some special Windows optimizations.
However, MingW, complemented by CodeBlocks , the IDE can provide you with a great, free, cross-platform C ++ development environment.
source share