MSYS y sistemas de compilación de tipo UNIX aparte; ¿Por qué existe Mingw? Lo que quiero decir es, ¿por qué win32/64 no es solo otro objetivo disponible en "GCC vainilla"? ¿Hay razones técnicas para esto o son "políticas"? Me parece que no hay nada especial en la plataforma Windows que haga que un puerto GCC sea "incompatible" con el GCC original.¿Por qué existe Mingw?
Respuesta
Mingw no son solo los compiladores, sino también las bibliotecas y los encabezados (y cualquier otro archivo de soporte que pueda necesitar).
GCC es solo un compilador. Mingw es un ambiente completo.
GCC es una colección de compiladores. – PetrosB
Cierto, pero el punto aún persiste. –
¿Eso significa que puedo descargar el código fuente de GCC, compilar un compilador dirigido a win32/64 y compilar el código con él (excepto que no hay bibliotecas y encabezados)? –
bueno, aunque puede usar el compilador cruzado para producir códigos binarios win32/64 de GCC, alguien tiene que portar todas las bibliotecas de C en tiempo de ejecución. Tanto Mingw como Cygwin se crearon para este propósito.
MingW está diseñado para permitir la fácil transferencia de aplicaciones de Posix a Windows. Es simplemente una capa "más delgada" que CygWin, por lo que no todo podría funcionar donde las ventanas son demasiado diferentes. CygWin permite proporcionar suficiente aislamiento que incluso las herramientas de creación de scripts para generar y generar código ejecutan.
Editar: Microsoft es muy aficionado a hacer sus propios estándares, y quiere poner su propia marca en cosas para las que ya existen estándares abiertos. es decir, OpenGL -> DirectX, Java -> .net, OpenCL es el próximo estándar que quieren despreciar. Esto los hace un poco dolorosos para el proyecto no patrocinado para apoyarlos como un objetivo. Siempre se han alejado de cualquier cosa que permita un fácil desarrollo de plataforma cruzada, porque solo quieren que desarrolles tu aplicación para ese sistema operativo. Es una estrategia de marketing, controla la marca, controla la plataforma y dificulta que las personas admitan otros sistemas operativos. Se requiere MingW porque GCC puede generar código x86, pero incluso el soporte de tiempo de ejecución más básico es diferente de los sistemas operativos basados en Posix.
-1: Ranting .... –
Desde el sitio principal de MinGW
Presentado en formato de paquetes binarios de fácil instalación, para la implementación nativa en MS-Windows o usuario-construido a partir de la fuente, para su uso en cruz alojado en Unix o GNU/Linux, el suite explota las DLL de sistema estándar de Microsoft para proporcionar el C-Runtime y la API de Windows.
- 1. ¿Por qué MinGW es muy lento?
- 2. ¿Por qué existe Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Equals()?
- 3. ¿Por qué eval() existe?
- 4. ¿Por qué `ScalaObject` existe?
- 5. ¿Por qué existe ActivePython?
- 6. _stricmp con mingw y C++ 0x no existe?
- 7. ¿Por qué ptr_fun (tolower) no se compila en mingw?
- 8. MinGW "stdio.h: No existe ningún archivo o directorio"
- 9. ¿Por qué existe Convert.ToInt32 (DateTime)?
- 10. Ensamblador: ¿por qué BCD existe?
- 11. std :: stoi no existe en g ++ 4.6.1 en MinGW
- 12. ¿Por qué existe WeakHashMap, pero ausente WeakSet?
- 13. ¿Por qué existe la función document.getElementById()?
- 14. PDO :: PARAM_FLOAT no existe, ¿por qué?
- 15. ¿Por qué existe el registro de Windows?
- 16. ¿Por qué existe la palabra clave async
- 17. ¿Por qué existe EXCEPT en T-SQL?
- 18. Configurando Eclipse para MinGW
- 19. Enchufes en MinGW
- 20. Boost binarios para MinGW
- 21. __uint128_t en mingw gcc
- 22. Cómo compilar MinGW W64
- 23. problema con mingw
- 24. MinGW Link Single EXE
- 25. mingw 3.4.5 missing dlfcn.h?
- 26. El mingw-get de MinGW falla al descargar paquetes
- 27. ¿Por qué MinGW no aparece en la lista de Eclipse/Indigo CDT Toolchains?
- 28. Agregar gdb a MinGW
- 29. wWinmain, Unicode y Mingw
- 30. ¿Hay fmemopen() en MinGW
¡Qué pregunta tan especial! Tal vez es por eso que todos esos filósofos gastronómicos siempre están dando vueltas. – NoMoreZealots