delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/07/19/13:15:39

From: salomon AT uni-wuppertal DOT de (Winfried Salomon)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: malloc() and CWSDPMI 4.0
Date: Mon, 19 Jul 1999 16:44:26 GMT
Organization: University of Wuppertal
Lines: 72
Message-ID: <3790dc42.950074@news.uni-wuppertal.de>
References: <378bbab9 DOT 22414525 AT news DOT uni-wuppertal DOT de> <378CB591 DOT 82CC6753 AT americasm01 DOT nt DOT com> <378e1f70 DOT 6963482 AT news DOT uni-wuppertal DOT de> <378E3E83 DOT 144617B0 AT americasm01 DOT nt DOT com>
NNTP-Posting-Host: uni-at-home57.dialin.uni-wuppertal.de
X-Newsreader: Forte Free Agent 1.11/32.235
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

On Thu, 15 Jul 1999 16:03:15 -0400, "Campbell, Rolf [SKY:1U32:EXCH]"
<cp1v45 AT americasm01 DOT nt DOT com> wrote:

Hello Rolf,

>    There is a different version of the dpmi server that doesn't use virt=
>ual
>memory, you can bind your executable with this.
>

yes, I have used CWSDPR0.EXE, but then i allocate with malloc() 64 MB
and without 32 MB, although I habe 96 MB Ram and I must examine the
reason.

>> Now I have a typical C beginners question :-(, if I use this, the
>> compiler makes an error message '__dpmi_memory_info' undeclared (first
>> use in this function). I don=B4t understand this, because the structure=
>
>> is declared in <dpmi.h>.
>
>__dmpi_memory_info a;
>__dpmi_get_memory_information(&a);
>
>Then, the first entry in 'a' will be the largest allocatable block.
>

I have done this so, but the error message remains :-(! Here are the
first lines of the program, I cannot see the reason for the error:

=========================================
/* Ramtest-Programm unter DOS*/

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <dpmi.h>

void main(void)
{
/*Deklarationen*/
/*-------------------------------------------------------------------------*/

	 /* Local variables */
	 char out_file[128];
	 unsigned long int amount,block,blockmem;
	 double a,b,faktor;
	 FILE *fid;
         __dpmi_memory_info _buffer;  /* Error!*/

/*Hauptprogramm*/
/*-------------------------------------------------------------------------*/
	 char *str;
============================================


>    I don't know what you mean by that last statement.  But, if you mean =
>that
>you want to get the physical address of the ram that you detect as bad, t=
>hen
>it's not that easy.  In p-mode, ram it re-mapped by the DPMI server and I=
>
>don't know offhand how to find out the real address.
>

Hm, if it is too difficult, I must do it without the addresses, they
are not very necessary. Does this mean, a memory block must not be
coherent? I must look up the doku how this works.

Greetings, Winfried

- Raw text -


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