Подтвердить что ты не робот

Почему существует Mingw?

MSYS и UNIX-подобные системы сборки; почему существует Mingw? Я имею в виду, почему не является win32/64 еще одной целью, доступной в "vanilla GCC"? Существуют ли технические причины для этого или они являются "политическими"? Мне кажется, что в Windows-платформе нет ничего особенного, что сделало бы порт GCC "несовместимым" с исходным GCC.

4b9b3361

Ответ 1

Mingw - это не только компиляторы - это также библиотеки и заголовки (и любые другие файлы поддержки, которые могут вам понадобиться).

GCC - это просто компилятор. Mingw - полная среда.

Ответ 2

MingW предназначен для легкого портирования приложений Posix в Windows. Это просто "более тонкий" слой, чем CygWin, поэтому не все может работать там, где окна слишком разные. CygWin позволяет обеспечить достаточную изоляцию, даже инструменты для создания сценариев и создания кода.

Изменить: Microsoft очень любит создавать собственные стандарты и хочет поставить собственный бренд на те вещи, для которых уже существуют открытые стандарты. то есть OpenGL → DirectX, Java → .net, OpenCL - следующий стандарт, который они хотят отменить. Это делает их немного больно для не спонсируемого проекта, чтобы поддержать их в качестве цели. Они всегда отвергаются от всего, что позволяет легко развивать кросс-платформу, потому что они хотят, чтобы вы разработали приложение для ОС. Это маркетинговая стратегия, контроль бренда, контроль платформы, а также больно для людей поддерживать другие ОС. MingW требуется, потому что GCC может генерировать код x86, но даже самая базовая поддержка во время выполнения отличается от ОС на основе Posix.

Ответ 3

ну, в то время как вы можете использовать кросс-компилятор для создания двоичных кодов win32/64 из GCC, кто-то должен все порты библиотек времени выполнения C. Для этого созданы как Mingw, так и Cygwin.

Ответ 4

С основного сайта MinGW

Предлагаемый в легко устанавливаемом формате двоичного пакета, для собственного развертывания в MS-Windows или из встроенного источника, для межсетевого использования в Unix или GNU/Linux, пакет использует стандартные DLL файлы Microsoft для предоставления C- Runtime и Windows API.