delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/11/23/10:32:07

Date: Mon, 23 Nov 1998 17:30:56 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Moris Morisson <morisn AT yahoo DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: Message: Load error: No DPMI memory
In-Reply-To: <19981123131535.12543.rocketmail@send102.yahoomail.com>
Message-ID: <Pine.SUN.3.91.981123171933.24468G-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com

On Mon, 23 Nov 1998, Moris Morisson wrote:

> Ok, the problem is I can compile and run my C programs just fine, but
> when I try to compile and run my C++ programs ( gcc -c
> prognamesource.cc -o rognamedest.exe) it normally does nothing but
> display the prompt again

Weird.  This would suggest the produced program severely botches the DOS 
box.  Does this happen with a trivial one-liner, like hello world?

Btw, do you really use the above command line to compile C++ programs?  
Most programs won't link without -lstdcxx, unless you don't use any C++ 
classes and operators; even cin and cout need that library.  So I'm 
curious: how *did* you compile your C++ programs, exactly?

> DPMI memory available: 7639 kb 
> DPMI swap space available: 10101 kb 
> 
> Machine has 40 MB RAM installed.

Don't pay attention to what go32-v2 reports on NT: the NT DPMI server 
lies to it about the amount of memory it can allocate to DPMI clients.  
If you want to know the truth, throw together a small program that 
allocates memory in chunks slightly smaller than 4KB, and make it report 
how many chunks it succeeded to allocate before malloc returned NULL.  
Then multiply by 4KB, and you get the amount of available DPMI memory.

> It means, DPMI is indeed, being loaded.

If go32-v2 and the compiler can run, then the DPMI services *are* 
loaded.  The error message you cite actually tells something else: it 
says that DPMI services are on, but there's not enough DPMI memory to 
even start the program.

Based on what you tell, I would guess that the program you try to run 
screws the DOS box so badly that it is wedged for all practical 
purposes after that.  The question is why.  You will have to dig deeper 
to understand that.  Post your findings here, if you cannot figure them 
out.

- Raw text -


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