DJGPP is a 32-bit protected-mode program development environment ported from the famous GNU C/C++ and GNU development tools on UNIX. Its main target platform is MS-DOS running on Intel 32-bit CPUs (386 and above, not 286) or other compatible OSes (such as OS2, Win31, Win95, WIN98, and the DOS BOX in WIN ME through WIN XP all work very well).
The entire DJGPP porting project has been coordinated by DJ Delorie and other volunteers.
Thanks to them for their selfless efforts.
Back in the initial release through the 1.X versions, DJGPP really had a lot of bugs and was not easy to use.
But since DJGPP is from GNU and is free software, no one knows how many experts around the world helped remove bugs and improve it.
Since version 2.0, after DJGPP programs fully adopted DPMI, it got rid of the old way of needing an extender.
You could say DJGPP rose from the ashes and was completely transformed. There was no longer the old nightmare for programmers—memory not being enough to use,
or the problem of DPMI Server being inconvenient to manage.
With DPMI added, as long as there is a DPMI Server (such as the DOS BOX in OS/2, MS Win31/95/NT, or QDPMI, 386Max under
MS-DOS), it will run. In addition, DJGPP also includes a DPMI Server
(cwsdpmi, currently version 5r), which can provide a 32-bit, 4GB flat-mode address space & up to 256MB
of virtual memory, in case you don't have the money to buy a DPMI Server. (Like the DOS4GW PRO version from WATCOM C)
And the DPMI Server used by DJGPP (cwsdpmi) is really powerful and fierce; the only word for it is "scary."
Fast to enter, and the code is small too—much, much stronger than the DOS4GW that comes with WATCOM C/C++.
Since I've brought this up, I should also mention the great programming software WATCOM C/C++.
The appearance of WATCOM C/C++ was a huge help to programmers, letting them put the problem of insufficient memory space out of their minds.
A few years ago, WATCOM C/C++ also cost money, and it was expensive, not cheap, but now it is free too.
The free WATCOM C/C++ is called OPEN WATCOM C/C++.
In terms of compilation speed, WATCOM C/C++ is second to none—you could say it's unbeatable, even DJGPP has to surrender.
But WATCOM C/C++'s biggest weak point is that its DPMI Server (DOS4GW) is not easy enough to use, and the good DOS4GW costs money, a lot of money!
DJGPP really has a big advantage on this point.
As for syntax, DJGPP and WATCOM C/C++ are pretty similar.
But when it comes to using LINE ASM, DJGPP is not as convenient as the LINE ASM in WATCOM C/C++.