I have a few comments about that.IntergalacticWalrus wrote: A single OS and three architectures and you claim it's "just as much [portable] as GCC"?? Sorry but you don't seem to know much about GCC's range of arch/OS support. GCC supports over a dozen architectures as well as another dozen of Operating Systems, not to mention support for true embedded systems (ie. programs running without an actual OS under it). Nowadays, GCC is used pretty much everywhere else than Microsoft's systems, from embedded devices to MacOS X. In fact all current game console systems use GCC in their official SDKs (except for the XBox, of course).
1. The most 'system dependent' part about a compiler is its target processor. Producing code for the same processor but for different OS's should normally be identical except for very system specific stuff (e.g. Windows' structured exception handling) but for the most part there shouldn't be any notable difference.
2. It's not surprising that anyone but Microsoft is using GCC. Simple reason: It doesn't cost anything! Quality isn't a consideration here. Microsoft already has a much better compiler in development so why bother with something like GCC.
The sad thing about GCC is that there was a time when this was the best compiler out there. However it seems that its developers have become lazy and didn't develop the crucial parts any further in it as opposed to MS who constantly improved VC++. Full standard compliance may be nice but frankly, most programmers will most likely never use this stuff. IMHO the C++ standard has already become too bloated.