Article View: de.comp.lang.c++
Article #150Re: Borland C++ 3.1, Fehler in Speicherverwaltung?
From: Lars Duening
Date: Thu, 21 Sep 1995 18:20
Date: Thu, 21 Sep 1995 18:20
33 lines
1865 bytes
1865 bytes
In article <43r2q6$850@rztsun.tu-harburg.de> Jens Ehlers <Ehlers@tu-harburg.d400.de> writes:
>duening@ibr.cs.tu-bs.de (Lars Duening) wrote:
>>> [...]
>>> short *werte_b=NULL; /* Basis des Speicherbereichs */
>>> [...]
>>>for (n_zeiten=100;n_zeiten<=40000;n_zeiten+=100){
>>>werte_n = (n_zeiten*n_kanaele )*sizeof(short);
>>> werte_b = (short *) malloc(werte_n);
>>
>>Du forderst hier Felder von mehr als 64 KByte an, womit du gute
>>Chancen hast, das malloc() zu ueberfordern (es gibt dir dann einfach
>>werte_n % 65536 Bytes).
>
> Normalerweise muss malloc() NULL zurueckgeben wenn es ueberfordert ist.
Nur wenn nicht genug Speicher frei ist. Von einer
long->short-Konversion merkt es ja nichts.
>>So oder so schreibst du ausserhalb der allokierten Speicherbereiche
>>und zerstoerst so die Speicherverwaltung des DOS.
>
> Ich schreibe nicht in und ich lese nicht aus dem Bereich!
> Ich allokiere und gebe danach frei.
> Das sollte in jedem Fall (auch mit DOS auf PC) funktionieren.
> Oder nicht?
Hmm, knifflig.
Reduzier das Programm weiter (Funktionsargumente weg, lokale Variablen
weg, ...), bis der Fehler nicht mehr auftritt.
Im wievielten Schleifendurchlauf bei welchem malloc() tritt der Fehler
eigentlich auf?
--
Lars Duening; duening@ibr.cs.tu-bs.de
Technical Details
Message-ID:
<43sadi$8j8@ra.ibr.cs.tu-bs.de>Path:
arc1-ca.pugleaf.net!news.dkrz.de!tubsibr!dueningReferences:
<43otte$ndb@rztsun.tu-harburg.de> <43pofg$jns@ra.ibr.cs.tu-bs.de> <43r2q6$850@rztsun.tu-harburg.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.dkrz.de!tubsibr!duening From: duening@ibr.cs.tu-bs.de (Lars Duening) Newsgroups: de.comp.lang.c++,;,de.comp.lang.c Subject: Re: Borland C++ 3.1, Fehler in Speicherverwaltung? Date: 21 Sep 1995 18:20:34 GMT Organization: TU Braunschweig, Informatik (Bueltenweg), Germany Distribution: world Message-ID: <43sadi$8j8@ra.ibr.cs.tu-bs.de> References: <43otte$ndb@rztsun.tu-harburg.de> <43pofg$jns@ra.ibr.cs.tu-bs.de> <43r2q6$850@rztsun.tu-harburg.de> Reply-To: duening@ibr.cs.tu-bs.de (Lars Duening) NNTP-Posting-Host: kastor.ibr.cs.tu-bs.de