DJGPP

DJGPP
DJGPP
Djgpp logo.svg
GCC DJGPP Windows.png
The DJGPP environment, utilizing GCC
Developer(s) DJ Delorie
Stable release 2.0.3p2 / June 10, 2002; 9 years ago (2002-06-10)
Operating system DOS and Windows
Type Compiler
License GNU GPL
Website http://www.delorie.com/djgpp/

DJGPP (DJ's GNU Programming Platform)[1] is a development suite for 386+ IBM PC compatibles which supports DOS-enabled operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as bash, find, tar, ls, awk, sed, and ld to DPMI. Languages available include C, C++, Objective-C/C++, Ada, Fortran, and Pascal.

The compiler generates 32-bit code, which runs natively in 32-bit protected mode while switching back to 16-bit DOS calls for basic OS support. However, unlike OpenWatcom, it is not a zero-based flat model due to preferring NULL pointer protection for better stability. It is currently based upon a variant of the COFF format. It can access up to 4 GB of RAM in pure DOS when using a suitable DPMI host (e.g. CWSDPMI r7 or HDPMI32).

Most notably the original Quake for DOS was compiled with DJGPP, as well as other programs[2] such as GNU Emacs, p7zip, Vim, beye, UPX, NASM, THE, Dungeon Crawl, NetHack, Perl, Python, and auxiliary applications within Arachne.

Contents

Compatibility

DJGPP presents the programmer an interface which is compatible with the ANSI C and C99 standards, unofficial DOS standards, and an older POSIX Unix standard. Compiled binaries are long file name-aware and handle such filenames under Win32 by default. TSRs to support LFNs under Windows NT 4 or pure DOS are available. As of July 2011, the newest GCC supported by DJGPP is 4.6.1, providing under DOS the standards C99/1x, C++98/11, as well as the first release of support for Ada2012.

While DJGPP runs in 32-bit protected mode, its stub and library heavily rely upon many 16-bit DOS and BIOS calls. Because the x86-64 versions of Windows lack support for 16-bit programs,[3] there is no NTVDM, and DJGPP apps cannot be run. Under x86-64 systems these apps only function through emulation (e.g. DOSBox), virtualization (e.g. VirtualBox), or similar (e.g. Linux's DOSEMU). This problem arises because x86-64 processors in long mode do not support the virtual 8086 mode used to run 16-bit code in IA-32 processors.

See also

  • MOSS - "Mach on DOS" - a POSIX DOS extender, supported by GCC 2.7 through 3.3.6
  • EMX/RSX - a POSIX implementation for OS/2 and DOS
  • Cygwin - a Linux API compatibility layer with many ported libraries and applications
  • MinGW - a native port of the GNU toolchain for Windows, designed to require minimal runtime support
  • GnuWin32

References

External links

Unofficial or unfinished ports


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • DJGPP — Entwickler DJ Delorie Aktuelle Version 2.0.3p2 (10. Juni 2002) Betriebssystem MS DOS( kompatible), OS/2, 32 Bit Windows Kategorie …   Deutsch Wikipedia

  • Djgpp — est un environnement développé par DJ Delorie, en portant GCC et les logiciels qui l accompagnent sous DOS. Il s agissait de fournir sous DOS un atelier logiciel permettant de travailler avec les codes sources d applications du monde Unix. A l… …   Wikipédia en Français

  • DJGPP — DJGPP …   Википедия

  • DJGPP — est un environnement de développement intégré créé par DJ Delorie, en portant GCC et les logiciels qui l accompagnent sous DOS. Il s agissait de fournir sous DOS un atelier logiciel permettant de travailler avec les codes sources d applications… …   Wikipédia en Français

  • DJGPP — Saltar a navegación, búsqueda DJGPP es un sistema de desarrollo en C/C++ de 32 bits para ordenadores 386 y compatibles que se ejecuta en MS DOS. Fue desarrollado por D.J. Delorie, quien inició el proyecto en 1989 y es una migración del conocido… …   Wikipedia Español

  • DJGPP — es un sistema de desarrollo en C/C++ de 32 bits para ordenadores 386 y compatibles que se ejecuta en MS DOS. Fue desarrollado por D.J. Delorie, quien inició el proyecto en 1989 y es una migración del conocido compilador gcc para la interfaz en… …   Enciclopedia Universal

  • DJGPP — abbr. DJ s GNU Programming Platform (GNU, DOS, GPP) …   United dictionary of abbreviations and acronyms

  • Process.h — is a C header file which contains function declarations and macros used in working with threads and processes. Neither the header file nor the functions are defined by either the ANSI/ISO C standard or by POSIX. Most C compilers that target DOS,… …   Wikipedia

  • Allegro library — Infobox Software name = Allegro caption = Logo developer = Allegro developers latest release version = 4.3.10 stable (4.9.5 unstable) latest release date = January 20, 2008 stable (October 1, 2008 unstable) operating system = Cross platform genre …   Wikipedia

  • Allegro (biblioteca de programación) — Allegro (pronunciado alegro) es una biblioteca libre y de código abierto para la programación de videojuegos desarrollada en lenguaje C. Allegro es un acrónimo recursivo de «Allegro Low Level Game Routines» (rutinas de bajo nivel para… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”