MinGW - это полный набор инструментов GCC (включая полдюжины веб-интерфейсов, таких как C, C ++, Ada, Go и еще много чего) для платформы Windows, который компилируется и связывается с компонентом ОС Windows C Runtime Library в msvcrt.dll,Скорее он пытается быть минимальным (отсюда и название).
Это означает, что, кроме Cygwin, MinGW не не пытается предложить полный слой POSIX поверхWindows, но, с другой стороны, он не требует, чтобы вы связывались со специальной библиотекой совместимости.
Поэтому он также не не имеет никаких последствий для лицензии GPL для программ, которые вы пишете (заметное исключение: профилированиебиблиотеки, но вы обычно не будете распространять их, так что это не имеет значения).
Более новый MinGW-w64 поставляется с примерно 99% полной привязкой Windows API (исключая ATL и тому подобное), включая поддержку x64 и экспериментальные реализации ARM,Иногда вы можете найти некоторую экзотическую константу неопределенной, но для того, что 99% людей используют 99% времени, она просто отлично работает.
Вы также можете использовать большую часть того, что есть в POSIX, до тех пор, покакак это реализовано в той или иной форме под Windows.Одна из основных особенностей POSIX, которая не работает с MinGW, - это fork
, просто потому, что в Windows такого нет (Cygwin испытывает большие трудности при его реализации).
Есть несколько других незначительных вещей, нов общем, большинство вещей в любом случае работают.
Итак, в очень очень упрощенном предложении: MinGW (-w64) - это «вещь без компиляции излишеств», которая позволяет вам писать собственные двоичные исполняемые файлы для Windows,не только в C и C ++, но и в других языках.