Message-Id: 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 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT From: Georg DOT Kolling AT t-online DOT de (Georg Kolling) Precedence: bulk MN Daya schrieb: > In <01bcb749$4f28c9a0$e18033cf AT markov> "George Kinney" > 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.