DJGPP

From Wikipedia, the free encyclopedia

DJGPP

The DJGPP environment, utilizing GCC
Developed by DJ Delorie
Latest release 2.0.3p2 / June 10, 2002
OS DOS and Windows
Genre Compiler
License GPL
Website http://www.delorie.com/djgpp/

DJGPP (DJ's GNU Programming Platform) is a 32-bit C/C++/ObjC/ObjC++/Ada/Fortran development suite for 386+ PCs that runs under DOS or compatibles. It is guided by DJ Delorie, who started the project in 1989. It is a port of the popular gcc compiler, as well as many other GNU utilities such as bash, find, tar, ls, mv, awk, sed, and ld to DOS DPMI (DOS Protected Mode Interface). It uses a flat memory model, where code and data segments are coincident. Additional segments can be accessed indirectly.

Most notably the original Quake for DOS was compiled with DJGPP, as well as other programs such as p7zip, VIM, BIEW, UPX, NASM, Perl, and NetHack.

Contents

[edit] Compatibility

DJGPP presents the programmer an interface which is compatible with the ANSI C and C99 standards, unofficial DOS standards, and the POSIX UNIX standard. Compiled binaries are long file name-aware and handle such filenames under Windows 9x+ by default. TSRs to support LFNs under Windows NT 4 or pure DOS are available. No x86-64 version of Windows supports 16-bit programs (or even programs with 16-bit stubs, like DJGPP) except via emulation (e.g. DOSBox) due to long mode's lack of V86 mode compatibility.

[edit] Official Links

[edit] Unofficial or Unfinished Ports

[edit] Windows (non-DOS) Ports of the GNU Toolchain

  • Cygwin - a UNIX compatibility layer with many ported libraries and applications
  • MinGW - a port of the GNU toolchain for Windows, designed to require minimal runtime support