MSVC обладает огромным преимуществом - поставляется с IDE, не имеющей равных в Windows, включая поддержку отладчика.
Вероятно, лучшей альтернативой для MinGW будет Code :: Blocks, но между ними есть миры,особенно в отношении завершения кода и отладчика.
Кроме того, MSVC позволяет использовать некоторые фирменные компоненты Microsoft (MFC, ATL и, возможно, другие), которые MinGW не поддерживает, и делает использование GDI + и DirectX более простым и понятным.(хотя возможно и то, и другое с MinGW).
Cygwin, как упоминалось в другом посте, будет иметь дополнительные зависимости и возможные проблемы с лицензией (зависимость - GPL, поэтому ваши программы тоже должны быть).У MinGW такой зависимости или проблемы нет.
MinGW также компилирует значительно медленнее, чем MSVC (хотя скомпилированные заголовки помогают немного).
Несмотря на все это, GCC /MinGW - полностью надежный качественный компилятор, который, по моему мнению, превосходит любую доступную на сегодняшний день версию MSVC с точки зрения качества сгенерированного кода.
Это несколько менее выражено в самых последних версиях MSVC, но все же заметно.Специально для всего, что связано с SSE, внутренними компонентами и встроенной сборкой, GCC с тех пор полностью уничтожает MSVC (хотя они постепенно догоняют).
Соответствие стандартам намного лучше и в GCC, что может бытьобоюдоострый меч (потому что это может означать, что часть вашего кода не будет компилироваться на более подходящем компиляторе!), как и поддержка C ++ 11.
MinGW также может поддерживать исключения DW2, которыеполностью несовместимы с «нормальным» видом и занимают больше места в исполняемом файле, но с другой стороны, «практически нулевая стоимость» во время выполнения.