Articulo de referencia

DJGPP

{{Cite newsgroup |url=https://groups.google.com/forum/#!topic/comp.os.msdos.djgpp/srgUBVOMGmI |title=Announce: DJGPP V2.05 Released |newsgroup=comp.os.msdos.djgpp |date=3 Novemb...

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:

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

  1. "Anuncio: Lanzamiento de DJGPP V2.05" . Grupo de noticias : comp.os.msdos.djgpp . 3 de noviembre de 2015. 
  2. Eli Zaretskii (julio de 1999). "El proyecto DJGPP" . Consultado el 20 de julio de 2009 .
  3. "La historia de djgpp" .
  4. "Archivos de correo: djgpp-announce/2024/10/01/13:27:52" . www.delorie.com . Consultado el 12 de abril de 2025 .
  5. 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.
  6. "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.
  7. 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".
  • Sitio web oficial
  • Página web de DJ Delorie