La plataforma de programación GNU de DJ ( DJGPP ) [2] es una suite de desarrollo de software para PC IBM de nivel 80386 y superior compatible con sistemas operativos DOS . Está guiado por DJ Delorie, quien comenzó el proyecto en 1989. Es un puerto de GNU Compiler Collection (GCC), y principalmente utilidades GNU como Bash , find , tar , ls , G AWK , sed y ld a DOS. Interfaz de modo protegido (DPMI). Los idiomas admitidos incluyenC , C ++ , Objective-C / C ++, Ada , Fortran y Pascal . DJGPP se describió como un producto "envejecido" en 2004. [3]
Desarrollador (es) | DJ Delorie |
---|---|
Lanzamiento estable | 2.0.5 / 3 de noviembre de 2015 [1] |
Repositorio | |
Sistema operativo | DOS y Windows de 32 bits |
Tipo | Compilador |
Licencia | GNU GPL |
Sitio web | www |
Descripción general
El compilador genera código de 32 bits, que se ejecuta de forma nativa en modo protegido de 32 bits mientras vuelve a las llamadas DOS de 16 bits para el soporte básico del sistema operativo. Sin embargo, a diferencia del compilador Open Watcom C / C ++ , no es un modelo plano de base cero debido a que prefiere la protección de puntero NULL para una mejor estabilidad. Actualmente se basa en una variante del formato COFF . Puede acceder a hasta 4 GB de RAM en DOS puro cuando se utiliza un host DPMI adecuado (por ejemplo, CWSDPMI r7 o HDPMI32).
A agosto de 2020[actualizar], los componentes principales de DJGPP 2 incluyen:
- Colección de compiladores GNU 9.3.0 (10.2.0 también está disponible)
- Autoconf 2.5.9
- Automake 1.9.4
- Binutils 2.34
- GNU Bash 4.1.17
- GNU Bison 2.4.1, Flex 2.5.4
- GNU Emacs 24.5
- GNU MPC 1.1.0, MPFR 4.1.0
También es posible utilizar DJGPP para realizar una compilación cruzada de software en DOS, por ejemplo, en UNIX / Linux. Tanto las bibliotecas DJGPP como los programas pueden compilarse de esta manera, vincularse y luego implementarse en máquinas con DOS o emuladores de DOS.
Compatibilidad
DJGPP presenta al programador una interfaz que es compatible con los estándares ANSI C y C99 , las API de DOS y un entorno más antiguo similar a POSIX . Los binarios compilados reconocen el nombre de archivo largo (LFN) y pueden manejar dichos nombres en la mayoría de Windows de 32 bits de forma predeterminada, pero no pueden usar las API de Win16 o Win32 que necesitan los programas gráficos en Windows. [3] Están disponibles los programas Terminar and Stay Resident (TSR) para admitir LFN en DOS o Windows NT 4 .
Si bien DJGPP se ejecuta en modo protegido de 32 bits , su código auxiliar y su biblioteca dependen en gran medida de muchas llamadas DOS y BIOS de 16 bits. Debido a que las versiones x86-64 de Windows carecen de soporte para programas de 16 bits, [4] [5] no hay NTVDM y las aplicaciones DJGPP no se pueden ejecutar. En los sistemas x86-64, estas aplicaciones funcionan solo mediante emulación (por ejemplo, DOSBox ), virtualización x86 (por ejemplo, VirtualBox ) o similar (por ejemplo, DOSEMU de Linux ). Este problema surge porque en el modo largo los procesadores x86-64 no admiten el modo virtual 8086 que se usa para ejecutar código de 16 bits en procesadores IA-32. Las CPU x86 más nuevas con VT-x admiten el modo real paginado y la ejecución en modo invitado sin restricciones.
Ver también
- FreeDOS
- Cygwin
- EMX (entorno de programación)
- GnuWin32
- MinGW
- Compilador abierto Watcom C / C ++
- Alegro
- Subsistema de Windows para Linux
Referencias
- ^ Anuncio: DJGPP V2.05 lanzado , comp.os.msdos.djgpp, 3 de noviembre de 2015
- ^ Eli Zaretskii (julio de 1999). "El Proyecto DJGPP" . Consultado el 20 de julio de 2009 .
- ^ a b Wall, Kurt; Von Hagen, William (2004). La guía definitiva de GCC . Presione. págs. 47–48. ISBN 9781590591093.
Otro 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?" . Consultado el 22 de noviembre de 2015 .
La plataforma de hardware de destino para los programas DJGPP es una plataforma de PC ... que ejecuta DOS ... o un sistema operativo compatible con DOS. Los programas DJGPP se ejecutan en las casillas "DOS prompt" de Windows.
- ^ Microsoft (octubre de 2007). "Lista de limitaciones en Windows de 64 bits" . Consultado el 18 de mayo de 2010 .
Las utilidades MS-DOS de 16 bits y Microsoft Windows 3.x no se iniciarán. Si intenta iniciar un programa de este tipo, recibirá un mensaje de error "Program.exe no es una aplicación Win32 válida".
enlaces externos
- Página web oficial