Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » zu wenig Speicher ?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.05.2005, 16:36 Uhr
~Marv
Gast


Hallo alle,

Ich habe ein Problem mit einem Programm welches nach und nach Bilder eines Verzeichnisses laden soll.
Also, mein Programm lädt und lädt und irgendwann ist der Speicher voll.
Das sagt mir zum einen das Programm und zum anderen kann mit im Task-Manager beabachten wie der Programm immer größer wird.

sinngemäß steht da sowas drinne:

C++:
...
for(int i; i<1000; i++)
{
CMyPicture myPic;
...
myPic.Load(picName);
...
...
myPic.~CMyPicture();
}
...



was mache ich falsch das anscheinend der Destruktor den Speicher nicht freigibt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.05.2005, 16:49 Uhr
Tommix




Zitat von ~Marv:

was mache ich falsch das anscheinend der Destruktor den Speicher nicht freigibt.

Dazu müßte man selbigen mal sehen. Du brauchst den Dtor auch nicht explizit aufzurufen.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.06.2005, 15:07 Uhr
~Marv
Gast


auch wenn ich alle Dtor weglasse, alse sie nicht explizit aufrufe bläht sich das Progi auf bis es zu Fehler "zu wenig Speicher" kommt.
Das ist bestimmt nur ein sehr kleines Problem aber mit großer Wirkung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.06.2005, 15:30 Uhr
Tommix



In der Klasse CMyPicture ist vermutlich ein Fehler. Zeig doch mal den Destruktor.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.06.2005, 06:57 Uhr
~Marv
Gast


also nach vielen Versuchen sind die Destruktoren nun leer. Da steht nichts drinn.
Hab gelesen das man die auch nicht selber aufrufen sollte da dann nur der Code im Destruktor ausgeführt wurd und nicht das eigentliche Objekt gelöscht wird.

Ich werd mir nochmal alles ganz genau anschauen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.06.2005, 09:48 Uhr
ao

(Operator)



Zitat von ~Marv:
also nach vielen Versuchen sind die Destruktoren nun leer.

Vermutlich ist das das Problem.

Zitat:
Ich werd mir nochmal alles ganz genau anschauen.

OK. Solltest du danach noch Fragen haben, bring den Code der Funktion Load () mit. Wahrscheinlich werden dort Resourcen (-> Speicher) belegt und nirgendwo wieder freigegeben.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: