delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/06/14:03:18

From: mdaya AT cs DOT uct DOT ac DOT za (MN Daya)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Why doesn't it recquire DPMI server?
Date: 2 Sep 1997 11:51:08 GMT
Organization: University of Cape Town
Lines: 43
Message-ID: <5ugujc$sh3$1@groa.uct.ac.za>
References: <340B0686 DOT 5632 AT voyageur DOT ca> <01bcb749$4f28c9a0$e18033cf AT markov>
NNTP-Posting-Host: cs.uct.ac.za
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

In <01bcb749$4f28c9a0$e18033cf AT markov> "George Kinney" <goober AT mail DOT net> writes:

>J.E. <cellis AT voyageur DOT ca> wrote in article <340B0686 DOT 5632 AT voyageur DOT ca>...
>> I just wrote and compiled the following program with DJGPP:
>[...]
>> After exiting to DOS from Win95 (exiting to DOS, not the DOS box) I ran
>> this program without first loading dpmi server, and it ran fine.  Why is
>> this?  Shouldn't this executable need a dpmi server under DOS, or does
>> it only need this if I make use of 32-bit functions?  Thanks in advance
>> for your time and help:-)

>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.


--
--------------------------------------------------------------------------------
Marc N. Daya                          |           mdaya AT cs DOT uct DOT ac DOT za
University of Cape Town               |     http://www.cs.uct.ac.za/~mdaya
--------------------------------------------------------------------------------

- Raw text -


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