stringtranslate.com

Partido Demócrata Liberal

La plataforma de programación GNU de DJ ( DJGPP ) [2] es una suite de desarrollo de software para sistemas operativos DOS compatibles con IBM PC y con procesadores Intel 80386 y superiores . Está dirigida por DJ Delorie, quien inició el proyecto en 1989. Es un puerto de la Colección de compiladores GNU (GCC) y principalmente de utilidades GNU como Bash , find , tar , ls , G AWK , sed y ld a la Interfaz de modo protegido DOS (DPMI). Los lenguajes admitidos incluyen C , C++ , Objective-C /C++, Ada , Fortran y Pascal .

Descripción general

El compilador genera código de 32 bits, que se ejecuta de forma nativa en modo protegido de 32 bits mientras cambia a llamadas DOS de 16 bits para compatibilidad básica con el sistema operativo. Sin embargo, a diferencia del compilador Open Watcom C/C++ , no es un modelo plano basado en 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 hasta 4 GB de RAM en DOS puro cuando se utiliza un host DPMI adecuado (por ejemplo, CWSDPMI r7 o HDPMI32).

A partir de agosto de 2020 , los componentes principales de DJGPP 2 incluyen:

También es posible utilizar DJGPP para compilar software en DOS, por ejemplo en UNIX/Linux. De esta manera, se pueden compilar tanto las bibliotecas DJGPP como los programas, vincularlos y luego implementarlos 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 similar a POSIX más antiguo. Los binarios compilados son compatibles con los nombres de archivo largos (LFN) y pueden manejar dichos nombres en la mayoría de los sistemas 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] Hay disponibles programas residentes en modo de terminación y permanencia (TSR) que admiten los LFN en DOS simple 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 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 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 nuevas con VT-x admiten el modo real paginado y la ejecución en modo invitado sin restricciones.

Véase también

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. ^ Wall, Kurt; Von Hagen, William (2004). La guía definitiva del CCG. Aprendido. págs. 47-48. ISBN 9781590591093Otro sistema de desarrollo popular, aunque antiguo, basado en GCC es DJGPP, el entorno de desarrollo de 32 bits gratuito de DJ[sic] Delorie para sistemas DOS.
  4. ^ "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 ejecute DOS ... o un sistema operativo compatible con DOS Los programas DJGPP se ejecutan bajo los cuadros de "símbolo del sistema" de Windows.
  5. ^ Microsoft (11 de octubre de 2007). "Lista de limitaciones en Windows de 64 bits". Archivado desde el original el 20 de abril de 2010. Consultado el 20 de abril de 2010. Las utilidades de MS-DOS y Microsoft Windows 3.x de 16 bits no se inician. Si intenta iniciar un programa de este tipo, recibirá un mensaje de error que indica que "Program.exe no es una aplicación Win32 válida".

Enlaces externos