c - instalar - mingw variable path
Una explicación simple de lo que es MinGW (5)
La única razón de la existencia de MinGW es proporcionar un entorno similar a Linux para los desarrolladores que no son capaces de usar herramientas nativas de Windows. Es inferior en casi todos los aspectos a Microsoft tooolchains en plataformas Win32 / Win64, PERO proporciona un entorno donde el desarrollador de Linux no tiene que aprender nada nuevo Y puede compilar el código de Linux casi sin modificaciones. Es un enfoque cuestionable, pero muchas personas consideran que la conveniencia es más importante que otros aspectos del desarrollo. No tiene nada que ver con C o C ++ como se indicó en las respuestas anteriores, tiene todo que ver con el entorno que el desarrollador desea. Argumento sobre las cadenas de herramientas de GNU en Windows y su nessessety, es solo eso: un argumento
GCC - compilador unix / linux, MinGW - aproximación de GCC en entorno Windows, compilador de Microsoft y compilador Intel - más de lo mismo que sugieren los nombres (ambos producen programas mucho mejores en Windows que en MinGW, por cierto)
Soy un ávido usuario de Python y parece que necesito que MinGW esté instalado en mi máquina con Windows para compilar algunas bibliotecas. Estoy un poco confundido acerca de MinGW y GCC. Aquí está mi pregunta (desde un punto de vista real ficticio):
Entonces, Python es un lenguaje que se interpreta y compila. Hay implementaciones de Linux y Windows de Python que uno simplemente instala y usa el binario para ejecutar su código. Vienen con un montón de bibliotecas integradas que puedes usar. Es lo mismo con Ruby por lo que he leído.
Ahora, he hecho un poco de C y sé que uno tiene que compilarlo. Tiene sus bibliotecas integradas que parecen llamarse archivos de cabecera que puede usar. Ahora, en la jornada escolar, C, estaba escribiendo código en un IDE parecido a vi llamado Turbo-C y luego presionando F9 para compilarlo. Eso es más o menos donde termina mi educación C.
¿Qué es MinGW y qué es GCC? He estado trabajando principalmente en sistemas Windows e incluso recientemente comencé a usar Cygwin. ¿No son lo mismo?
Una explicación simple que llegue a estas áreas sería útil.
(Mis disculpas si esta publicación suena tonta / estúpida. Pensé que preguntaría aquí. Ignorar estos bits centrales nunca hizo a nadie un mejor programador).
Gracias a todos.
MinGW es un conjunto de herramientas de desarrollo que contiene GCC (entre otros), y GCC es un compilador de C dentro de ese conjunto.
MinGW es una cadena de herramientas de GCC completa (que incluye media docena de interfaces, como C, C ++, Ada, Go y otras) para la plataforma de Windows que compila y enlaza con el componente del sistema operativo Windows C Runtime Library en msvcrt.dll. Más bien trata de ser mínimo (de ahí el nombre).
Esto significa que, aparte de Cygwin, MinGW no intenta ofrecer una capa POSIX completa sobre Windows, pero, por otro lado, no requiere que establezca un enlace con una biblioteca de compatibilidad especial.
Por lo tanto , tampoco tiene ninguna implicación de licencia GPL para los programas que escribe (excepción notable: creación de perfiles de bibliotecas, pero normalmente no se distribuirán para que no importe).
El MinGW-w64 más nuevo viene con un enlace de API de Windows de aproximadamente el 99% completo (excepto ATL y tal) que incluye compatibilidad con x64 e implementaciones experimentales de ARM. De vez en cuando puede encontrar algo exótico constante indefinido, pero para lo que el 99% de las personas usa el 99% del tiempo, simplemente funciona perfectamente bien.
También puede usar la parte más grande de lo que está en POSIX, siempre que se implemente de alguna forma bajo Windows. La principal característica de POSIX que no funciona con MinGW es fork
, simplemente porque no existe tal cosa en Windows (Cygwin pasa por mucho dolor para implementarlo).
Hay algunas otras cosas menores, pero en general, la mayoría de las cosas funcionan de todos modos.
Por lo tanto, en una frase muy muy simplificada: MinGW (-w64) es una "cosa del compilador sencillo" que le permite escribir ejecutables binarios nativos para Windows, no solo en C y C ++, sino también en otros idiomas.
MinGW es una implementación de la mayoría de las utilidades de construcción de GNU, como gcc y make en Windows, mientras que gcc es solo el compilador. Cygwin es un paquete mucho más grande y sofisticado, que instala mucho más que MinGW.
Para compilar el programa C necesita una implementación C para su computadora específica.
Las implementaciones de C consisten, básicamente, en un compilador (su preprocesador y encabezados) y una biblioteca (el código ejecutable listo).
En una computadora con Windows instalado, la biblioteca que contiene el código ejecutable más listo no es compatible con el compilador gcc
... así que para usar este compilador en Windows necesita una biblioteca diferente: ahí es donde entra MinGW
. MinGW
proporciona, entre otras cosas, la biblioteca (es) necesaria (s) para realizar una implementación de C junto con gcc
.
La biblioteca de Windows y MSVC juntos hacen una implementación diferente.