fbpx
Wikipedia

MinGW

MinGW (Minimalist GNU for Windows), anteriormente conocido como MinGW32, es una implementación de los compiladores GCC para la plataforma Win32, que permite migrar la capacidad de este compilador en entornos Windows. Es un fork de Cygwin en su versión 1.3.3. Además MinGW incluye un conjunto de la API de Win32, permitiendo un desarrollo de aplicaciones nativas para esa plataforma, pudiendo generar ejecutables y bibliotecas usando la API de Windows.[2]

MinGW
Información general
Tipo de programa Compilador
Autor Colin Peters
Desarrollador Proyecto MinGW
Lanzamiento inicial 1 de julio de 1998
Licencia GPL
Estado actual En desarrollo
Información técnica
Programado en Ada, C, C++, Fortran, Java, Pascal
Plataformas admitidas Java
Versiones
Última versión estable 8.2.0-3 15 de enero de 2019 (2 años, 7 meses y 20 días)[1]
Última versión en pruebas 0.6.2-beta-20131004-1
4 de octubre de 2013
Archivos legibles
MinGW Developer Studio Project
Archivos editables
MinGW Developer Studio Project
Enlaces
Sitio web oficial

Historia

MinGW fue creado por Colin Peters, el 1 de julio de 1998, compilándolo con Cygwin.[3]​ MinGW se llamaba originariamente mingw32; se quitaron los números del nombre para evitar la implicación que tendría el limitarlo a sistemas de 32 bits.[4]​ La primera versión nativa para Windows de MinGW fue realizada por Jan-Jaap van der Heijden, quien también tuvo participación en el proyecto GCC; añadiendo también binutils y make.[3][5]​ Mumit Khan estuvo a cargo del mantenimiento del proyecto e incluyó al compilador algunas características propias de Windows. Los archivos de cabecera del API de Windows fueron provistos por Anders Norlander. En 2000, el proyecto se trasladó a SourceForge.net para pedir asistencia de la comunidad y centralizar su desarrollo.[3]

MinGW fue seleccionado como Project of the Month en SourceForge en septiembre de 2005.[5]

Características

Soporte de lenguaje de programación

Para lenguajes de programación distintos de C, MinGW utiliza las bibliotecas de tiempo de ejecución GNU (por ejemplo, GNU libstdc ++ para C++).[cita requerida]

Sin embargo, como GCC no proporciona su propia biblioteca C de tiempo de ejecución, el compilador C de MinGW tiene como objetivo la antigua Biblioteca de tiempo de ejecución de C Visual de Microsoft, MSVCRT, que fue lanzado en 1998 y por lo tanto, no incluye soporte para funciones de C99 (ni siquiera la especificación C89 completa); aunque el uso de MSVCRT permite producir programas nativos que no requieren instalar componentes adicionales, la falta de soporte de C99 ha causado problemas de portabilidad, en particular en lo concerniente a los especificadores de conversión tipo printf. Estos problemas se han atenuado parcialmente mediante la implementación de una biblioteca de compatibilidad de C99, libmingwex, pero la amplia labor requerida está lejos de completarse y no parece que pueda realizarse plenamente.[6]​ Mingw-w64 ha resuelto estos problemas, y proporciona funcionalidad conforme a POSIX en las funciones tipo printf.

Componentes de MinGW

El proyecto de MinGW mantiene y distribuye un número de diferentes componentes y paquetes complementarios, incluidos los diversos puertos de GNU toolchain, tales como GCC y binutils, traducido en paquetes equivalentes.[4][7]​ Estas utilidades pueden utilizarse desde la línea de comandos de Windows o integradas en un IDE. MinGW admite bibliotecas nombradas de acuerdo con los convenios "<name>.lib" y "<name>.dll" además de la habitual convención "lib<name>.a" común en sistemas UNIX-like.

Además, un componente de MinGW, conocido como MSYS (Minimal SYStem) proporciona ports de win32 de un entorno de shell ligero de tipo Unix que incluye rxvt y una selección de herramientas POSIX suficientes para permitir a las secuencias de comandos (scripts) de autoconf ejecutarse.[8][9]

Los mingwPORTs son añadidos de usuario (contribuciones) a la colección de software MinGW. En lugar de proporcionar estos "complementos" como paquetes binarios precompilados, se suministran en forma de scripts interactivos de shell Bourne, que guía al usuario final a través del proceso de descarga y revisiones (parcheo) del código fuente original automáticamente, para a continuación compilarlo e instalarlo. Los usuarios que deseen construir cualquier aplicación desde un mingwPORT deben instalar primero MinGW y CYGWIN.[10][11]

La ejecución de archivos de cabecera de Win32 y bibliotecas de importación de Win32 para vincular el tiempo de ejecución son liberados bajo una licencia permisiva,[12]​ mientras que los portes de GNU se liberan bajo licencia GNU. Están disponibles en el hogar web de MinGW descargas binarias del paquete completo de CYGWIN y utilidades de GNU MinGW individuales.

Comparación con Cygwin

MinGW surgió de una bifurcación de la versión 1.3.3 de Cygwin.[3]​ Aunque Cygwin y MinGW pueden utilizarse para portar software de Unix a Windows, tienen diferentes enfoques:[13]​ Cygwin pretende ofrecer una capa POSIX completa (similar a la encontrada en otros sistemas de Unix o Linux) de Windows, sacrificando el rendimiento cuando sea necesario para optimizar la compatibilidad. En consecuencia, este enfoque requiere programas Win32 escritos con Cygwin para ejecutar sobre una biblioteca de compatibilidad copyleftada que debe ser distribuida con el programa, junto con el código fuente del mismo. MinGW pretende proporcionar funcionalidad nativa y rendimiento a través de llamadas a la API de Windows directamente. A diferencia de Cygwin, MinGW no requiere una capa de compatibilidad DLL y por lo tanto los programas no necesitan distribuirse con el código fuente.

Como MinGW depende de llamadas a la API de Win32, no puede proporcionar una API completa POSIX; es incapaz de compilar algunas aplicaciones de Unix que se pueden compilar con Cygwin. Específicamente, esto se aplica a las aplicaciones que requieren la funcionalidad POSIX como fork(), mmap() o ioctl()[13]​ y aquellos que se espera poder ejecutar en un entorno de POSIX. Las aplicaciones escritas con una biblioteca de plataforma cruzada que sí se han portado a MinGW, como SDL, wxWidgets, Qt, o GTK+ se suelen compilar fácilmente en MinGW como se haría en Cygwin.

La combinación de MinGW y CYGWIN proporciona un entorno pequeño e independiente que puede cargarse en medios extraíbles sin dejar entradas en el registro de Windows o archivos en el equipo. Al proporcionar más funcionalidad, Cygwin es más complicado de instalar y mantener.

Véase también

Referencias

  1. Información de lanzamiento corresponde sólo al paquete GCC. [1]
  2. SourceForge.net: MinGW - Minimalist GNU for Windows
  3. (en inglés) MinGW - History
  4. (en inglés) What is MinGW?
  5. (en inglés) SourceForge Project of the Month el 23 de agosto de 2007 en Wayback Machine.
  6. gcc (21 de junio de 2010). «C99». 
  7. MinGW Components
  8. What is MSYS?
  9. MinGW - Minimal SYStem
  10. . Archivado desde el original el 29 de junio de 2011. Consultado el 20 de abril de 2011. 
  11. [2]
  12. http://www.mingw.org/license
  13. http://www.mingw.org/node/21

Enlaces externos

  • Sitio web oficial de MinGW (en inglés)(enlace roto desde febrero de 2021)
  • Sitio web oficial de GCC (en inglés)
  • MinGW en OSDN (en inglés)
  •   Datos: Q595758

mingw, minimalist, windows, anteriormente, conocido, como, implementación, compiladores, para, plataforma, win32, permite, migrar, capacidad, este, compilador, entornos, windows, fork, cygwin, versión, además, incluye, conjunto, win32, permitiendo, desarrollo,. MinGW Minimalist GNU for Windows anteriormente conocido como MinGW32 es una implementacion de los compiladores GCC para la plataforma Win32 que permite migrar la capacidad de este compilador en entornos Windows Es un fork de Cygwin en su version 1 3 3 Ademas MinGW incluye un conjunto de la API de Win32 permitiendo un desarrollo de aplicaciones nativas para esa plataforma pudiendo generar ejecutables y bibliotecas usando la API de Windows 2 MinGWInformacion generalTipo de programaCompiladorAutorColin PetersDesarrolladorProyecto MinGWLanzamiento inicial1 de julio de 1998LicenciaGPLEstado actualEn desarrolloInformacion tecnicaProgramado enAda C C Fortran Java PascalPlataformas admitidasJavaVersionesUltima version estable8 2 0 3 15 de enero de 2019 2 anos 7 meses y 20 dias 1 Ultima version en pruebas0 6 2 beta 20131004 14 de octubre de 2013Archivos legiblesMinGW Developer Studio ProjectArchivos editablesMinGW Developer Studio ProjectEnlacesSitio web oficial editar datos en Wikidata Indice 1 Historia 2 Caracteristicas 2 1 Soporte de lenguaje de programacion 2 2 Componentes de MinGW 3 Comparacion con Cygwin 4 Vease tambien 5 Referencias 6 Enlaces externosHistoria EditarMinGW fue creado por Colin Peters el 1 de julio de 1998 compilandolo con Cygwin 3 MinGW se llamaba originariamente mingw32 se quitaron los numeros del nombre para evitar la implicacion que tendria el limitarlo a sistemas de 32 bits 4 La primera version nativa para Windows de MinGW fue realizada por Jan Jaap van der Heijden quien tambien tuvo participacion en el proyecto GCC anadiendo tambien binutils y make 3 5 Mumit Khan estuvo a cargo del mantenimiento del proyecto e incluyo al compilador algunas caracteristicas propias de Windows Los archivos de cabecera del API de Windows fueron provistos por Anders Norlander En 2000 el proyecto se traslado a SourceForge net para pedir asistencia de la comunidad y centralizar su desarrollo 3 MinGW fue seleccionado como Project of the Month en SourceForge en septiembre de 2005 5 Caracteristicas EditarSoporte de lenguaje de programacion Editar Para lenguajes de programacion distintos de C MinGW utiliza las bibliotecas de tiempo de ejecucion GNU por ejemplo GNU libstdc para C cita requerida Sin embargo como GCC no proporciona su propia biblioteca C de tiempo de ejecucion el compilador C de MinGW tiene como objetivo la antigua Biblioteca de tiempo de ejecucion de C Visual de Microsoft MSVCRT que fue lanzado en 1998 y por lo tanto no incluye soporte para funciones de C99 ni siquiera la especificacion C89 completa aunque el uso de MSVCRT permite producir programas nativos que no requieren instalar componentes adicionales la falta de soporte de C99 ha causado problemas de portabilidad en particular en lo concerniente a los especificadores de conversion tipo printf Estos problemas se han atenuado parcialmente mediante la implementacion de una biblioteca de compatibilidad de C99 libmingwex pero la amplia labor requerida esta lejos de completarse y no parece que pueda realizarse plenamente 6 Mingw w64 ha resuelto estos problemas y proporciona funcionalidad conforme a POSIX en las funciones tipo printf Componentes de MinGW Editar El proyecto de MinGW mantiene y distribuye un numero de diferentes componentes y paquetes complementarios incluidos los diversos puertos de GNU toolchain tales como GCC y binutils traducido en paquetes equivalentes 4 7 Estas utilidades pueden utilizarse desde la linea de comandos de Windows o integradas en un IDE MinGW admite bibliotecas nombradas de acuerdo con los convenios lt name gt lib y lt name gt dll ademas de la habitual convencion lib lt name gt a comun en sistemas UNIX like Ademas un componente de MinGW conocido como MSYS Minimal SYStem proporciona ports de win32 de un entorno de shell ligero de tipo Unix que incluye rxvt y una seleccion de herramientas POSIX suficientes para permitir a las secuencias de comandos scripts de autoconf ejecutarse 8 9 Los mingwPORTs son anadidos de usuario contribuciones a la coleccion de software MinGW En lugar de proporcionar estos complementos como paquetes binarios precompilados se suministran en forma de scripts interactivos de shell Bourne que guia al usuario final a traves del proceso de descarga y revisiones parcheo del codigo fuente original automaticamente para a continuacion compilarlo e instalarlo Los usuarios que deseen construir cualquier aplicacion desde un mingwPORT deben instalar primero MinGW y CYGWIN 10 11 La ejecucion de archivos de cabecera de Win32 y bibliotecas de importacion de Win32 para vincular el tiempo de ejecucion son liberados bajo una licencia permisiva 12 mientras que los portes de GNU se liberan bajo licencia GNU Estan disponibles en el hogar web de MinGW descargas binarias del paquete completo de CYGWIN y utilidades de GNU MinGW individuales Comparacion con Cygwin EditarMinGW surgio de una bifurcacion de la version 1 3 3 de Cygwin 3 Aunque Cygwin y MinGW pueden utilizarse para portar software de Unix a Windows tienen diferentes enfoques 13 Cygwin pretende ofrecer una capa POSIX completa similar a la encontrada en otros sistemas de Unix o Linux de Windows sacrificando el rendimiento cuando sea necesario para optimizar la compatibilidad En consecuencia este enfoque requiere programas Win32 escritos con Cygwin para ejecutar sobre una biblioteca de compatibilidad copyleftada que debe ser distribuida con el programa junto con el codigo fuente del mismo MinGW pretende proporcionar funcionalidad nativa y rendimiento a traves de llamadas a la API de Windows directamente A diferencia de Cygwin MinGW no requiere una capa de compatibilidad DLL y por lo tanto los programas no necesitan distribuirse con el codigo fuente Como MinGW depende de llamadas a la API de Win32 no puede proporcionar una API completa POSIX es incapaz de compilar algunas aplicaciones de Unix que se pueden compilar con Cygwin Especificamente esto se aplica a las aplicaciones que requieren la funcionalidad POSIX como fork mmap o ioctl 13 y aquellos que se espera poder ejecutar en un entorno de POSIX Las aplicaciones escritas con una biblioteca de plataforma cruzada que si se han portado a MinGW como SDL wxWidgets Qt o GTK se suelen compilar facilmente en MinGW como se haria en Cygwin La combinacion de MinGW y CYGWIN proporciona un entorno pequeno e independiente que puede cargarse en medios extraibles sin dejar entradas en el registro de Windows o archivos en el equipo Al proporcionar mas funcionalidad Cygwin es mas complicado de instalar y mantener Vease tambien Editar Portal Software libre Contenido relacionado con Software libre Cygwin UnxUtils DJGPPReferencias Editar Informacion de lanzamiento corresponde solo al paquete GCC 1 SourceForge net MinGW Minimalist GNU for Windows a b c d en ingles MinGW History a b en ingles What is MinGW a b en ingles SourceForge Project of the Month Archivado el 23 de agosto de 2007 en Wayback Machine gcc 21 de junio de 2010 C99 MinGW Components What is MSYS MinGW Minimal SYStem Copia archivada Archivado desde el original el 29 de junio de 2011 Consultado el 20 de abril de 2011 2 http www mingw org license a b http www mingw org node 21Enlaces externos EditarSitio web oficial de MinGW en ingles enlace roto desde febrero de 2021 Sitio web oficial de GCC en ingles MinGW en OSDN en ingles Datos Q595758Obtenido de https es wikipedia org w index php title MinGW amp oldid 135153947, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos