Mail Archives: djgpp/1998/11/23/10:32:07
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 -