La plataforma de programación GNU de DJ ( DJGPP ) [ 2 ] es un conjunto de software de desarrollo para procesadores Intel 80386 y superiores, compatibles con IBM PC , que admite sistemas operativos DOS . Está dirigida por DJ Delorie, quien inició el proyecto en 1989. Es una adaptación de la Colección de Compiladores GNU (GCC) y, principalmente, de utilidades GNU como Bash , find , tar , ls , GAWK , sed y ld a la Interfaz de Modo Protegido de DOS (DPMI). Los lenguajes compatibles incluyen C , C++ , Objective-C /C++, Ada , Fortran y Pascal . Originalmente se llamaba DJGCC y posteriormente se renombró a DJGPP cuando se añadió la compatibilidad con C++, aunque se decía que "PP" significaba "Plataforma de Programación" en lugar de "Plus Plus". [ 3 ]
Descripción general
El compilador genera código de 32 bits, que se ejecuta de forma nativa en modo protegido de 32 bits, volviendo a las llamadas DOS de 16 bits para la compatibilidad básica con el sistema operativo. Sin embargo, a diferencia del compilador Open Watcom C/C++ , no utiliza un modelo plano basado en cero, ya que prefiere la protección contra punteros nulos para una mayor estabilidad. Actualmente se basa en una variante del formato COFF . Puede acceder hasta a 4 GB de RAM en DOS puro al usar un host DPMI adecuado (por ejemplo, CWSDPMI r7 o HDPMI32).
A partir de abril de 2025 Los componentes principales de DJGPP 2 incluyen:
- Colección de compiladores GNU 9.3.0 (también están disponibles las versiones 10.2.0, 12.2.0 y 14.2.0 [ 4 ] , entre otras).
- Autoconf 2.5.9
- Automake 1.9.4
- Binutils 2.35.1
- GNU Bash 4.4
- GNU Bison 2.4.1, Flex 2.5.4
- GNU Emacs 29
- GNU MPC 1.1.0, MPFR 4.1.0
También es posible usar DJGPP para compilar software de forma cruzada para DOS, por ejemplo, en UNIX/Linux. Tanto las bibliotecas de DJGPP como los programas se pueden compilar de esta manera, enlazar y luego implementar en máquinas con DOS o emuladores de DOS.
Compatibilidad
DJGPP ofrece al programador una interfaz compatible con los estándares ANSI C y C99 , las API de DOS y un entorno POSIX antiguo. Los binarios compilados reconocen los nombres de archivo largos (LFN) y pueden manejarlos en la mayoría de los sistemas Windows de 32 bits de forma predeterminada, pero no pueden usar las API Win16 o Win32 que necesitan los programas gráficos en Windows. [ 5 ] Existen programas de terminación y permanencia residente (TSR) para admitir LFN en DOS estándar o Windows NT 4 .
Aunque DJGPP se ejecuta en modo protegido de 32 bits , su stub y biblioteca dependen en gran medida de muchas llamadas de DOS y BIOS de 16 bits. Debido a que las versiones x86-64 de Windows carecen de soporte para programas de 16 bits, [ 6 ] [ 7 ] no existe NTVDM y las aplicaciones DJGPP no se pueden ejecutar. En sistemas x86-64, estas aplicaciones funcionan solo a través de emulación (por ejemplo, DOSBox ), virtualización x86 (por ejemplo, VirtualBox ) o similar (por ejemplo, DOSEMU de Linux ). Este problema surge porque en modo largo los procesadores x86-64 no admiten el modo virtual 8086 utilizado para ejecutar código de 16 bits en procesadores IA-32. Las CPU x86 más recientes con VT-x sí admiten el modo real paginado y la ejecución en modo invitado sin restricciones.
Véase también
- FreeDOS
- Cygwin : una capa de compatibilidad con UNIX que incluye numerosas bibliotecas y aplicaciones adaptadas.
- EMX : una implementación POSIX para DOS (y también para OS/2).
- GnuWin32
- MinGW : una adaptación del conjunto de herramientas GNU para Windows, diseñada para requerir un soporte mínimo en tiempo de ejecución.
- Compilador C/C++ de Open Watcom
- Alegro
- Subsistema de Windows para Linux
Referencias
- ↑ "Anuncio: Lanzamiento de DJGPP V2.05" . Grupo de noticias : comp.os.msdos.djgpp . 3 de noviembre de 2015.
- ↑ Eli Zaretskii (julio de 1999). "El proyecto DJGPP" . Consultado el 20 de julio de 2009 .
- ↑ "La historia de djgpp" .
- ↑ "Archivos de correo: djgpp-announce/2024/10/01/13:27:52" . www.delorie.com . Consultado el 12 de abril de 2025 .
- ↑ Wall, Kurt; Von Hagen, William (2004). La guía definitiva del CCG . Apress. págs. 47–48 . ISBN 9781590591093Otro sistema de desarrollo popular, aunque antiguo, basado en GCC es DJGPP, el entorno de desarrollo
gratuito de 32 bits de DJ[sic] Delorie para sistemas DOS.
- ↑ "Guía: ¿Qué es DJGPP?" . Archivado del original el 1 de agosto de 2018. Recuperado el 22 de noviembre de 2015. La
plataforma de hardware objetivo para los programas DJGPP es una plataforma de PC... que ejecuta DOS... o un sistema operativo compatible con DOS. Los programas DJGPP se ejecutan bajo las ventanas de "símbolo del sistema" de Windows.
- ↑ Microsoft (11 de octubre de 2007). "Lista de limitaciones en Windows de 64 bits" . Archivado del original el 20 de abril de 2010. Consultado el 20 de abril de 2010.
Las utilidades de MS-DOS de 16 bits y Microsoft Windows 3.x no se iniciarán. Si intenta iniciar un programa de este tipo, recibirá el mensaje de error "Program.exe no es una aplicación Win32 válida".
Enlaces externos
- Sitio web oficial
- Página web de DJ Delorie
- Software de 1989
- Compiladores de C (lenguaje de programación)
- extensores de DOS
- Compiladores libres y de código abierto
- Entornos de desarrollo integrados gratuitos