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.
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.
Official Links
Unofficial or Unfinished Ports
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