www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/10/17:34:14

Message-Id: <m0x8uNU-0003CTC@fwd09.btx.dtag.de>
Date: Wed, 10 Sep 97 23:32 MET DST
To: mdaya AT cs DOT uct DOT ac DOT za, djgpp AT delorie DOT com
References: <340B0686 DOT 5632 AT voyageur DOT ca> <01bcb749$4f28c9a0$e18033cf AT markov> <5ugujc$sh3$1 AT groa DOT uct DOT ac DOT za>
Subject: Re: Why doesn't it recquire DPMI server?
MIME-Version: 1.0
From: Georg DOT Kolling AT t-online DOT de (Georg Kolling)

MN Daya schrieb:
> In <01bcb749$4f28c9a0$e18033cf AT markov> "George Kinney" <goober AT mail DOT net>
>  writes:
> >ALL programs compiled with DJGPP require DPMI.
>
> >Now this will either be provided by the OS, or will be provided by an
> >extender.
>
> >When you compile a program with DJGPP, it attaches the resulting COFF
> >image to a stub, which is responsible for checking for DPMI availability,
> >and if not found, finding and loading an appropriate extender. This is
> >by default CWSDPMI, but you can change the stub to use other extenderd,
> >and can also use PMODE/DJ which is a stub with DPMI built in.
>
> >So your program checked for DPMI, didn't find it, and loaded an extender
> >and continued. Either that or you have another extender loaded, such as 
> >QDPMI.
>
> >Also, all output from DJGPP is 32bit, flat memory model. It doesn't matter
> >at all which functions you do or do not use, it is still 32bit.
>
> I think you may have misunderstood the question.  I think he knows that a DPMI
> server is needed for DJGPP programs.  What I think he's asking why the program
> still runs when apparently no DPMI is loaded.
>
> The answer to the question *I* think he's asking is that when you exit to dos
> from windows95 (as opposed to rebooting the machine) windows is still lurking
> in the background.  So it's DPMI (I assume) is still active.

I think you should read the answer again, especially this: '...and if not found,
finding and loading an appropriate extender...'
This just means that a program compiled with djgpp will (usually) search for
'CWSDPMI.EXE' in any PATHed directory and in the current one (if it doesn't find
a dpmi host in memory). If this file is not found, it will just print an 
error message.



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019