Mail Archives: djgpp/2000/12/19/06:49:08
On Mon, 18 Dec 2000, dragonsong wrote:
> > Like the fact that DJGPP is a 32-bit compiler which produces 32-bit
> > programs, perhaps?
>
> Then I'm really missing the point here. What precisely is the difference
> between djgpp and cygwin? Other than the included cwsdpmi that allows for
> running compiled (32-bit!) code in a native DOS environment?
DJGPP produces DOS programs, as far as DOS and Windows are concerned.
That is, the structure of the binary executable file produced by DJGPP
looks like a very small 16-bit real-mode program, which has a very large
and strangely formatted data attached to it. Once invoked, the small
16-bit program calls a certain function to switch the CPU into 32-bit
protected mode, and then jumps into the middle of that
strangely-formatted data, which really is the protected-mode program you
wrote, but in a binary format which DOS and Windows don't understand.
Your application code always runs in 32-bit protected mode.
Nevertheless, since DJGPP programs are perceived by Windows as DOS
programs, they don't have access to some nifty Windows features, such as
the Win32 API, GUI, network services, COM and OLE, etc.
By contrast, Cygwin generates native Win32 applications, and therefore
can overcome the above deficiencies.
- Raw text -