JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=63378c911ba614bdda9878ad2531346aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Memory Leaks

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
magigman
Junior JLI'ler



Anmeldedatum: 25.09.2007
Beiträge: 87

Medaillen: Keine

BeitragVerfasst am: 28.02.2009, 14:52    Titel: Memory Leaks Antworten mit Zitat

hallo
Gibt es eine möglichkeit, bereits vorhandene Memory leaks zu beheben???
danke schonmal im vorraus!!!
_________________
Wer einen Rechtschreibefehler findet, darf ihn behalten, in ein Regal stellen und jedem der vobei geht sagen, dass ER ihn gefunden hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.02.2009, 17:04    Titel: Antworten mit Zitat

Wenn du dich fragst, was genau "Memory Leak" bedeutet, ist dir die Antwort klar.

Memory Leak bedeutet, dass du Speicher reserviert hast, aber vergessen, wo.
Und das merkt sich sonst niemand anderes. "Verlorener Speicher" ist nicht "für immer" weg, sondern du weisst nur nicht mehr, wo der war.

Wenn dein Programm beendet wird, ist auch der verlorene Speicher wieder freigegeben.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
magigman
Junior JLI'ler



Anmeldedatum: 25.09.2007
Beiträge: 87

Medaillen: Keine

BeitragVerfasst am: 28.02.2009, 17:06    Titel: Antworten mit Zitat

AFE-GmdG hat Folgendes geschrieben:
Wenn du dich fragst, was genau "Memory Leak" bedeutet, ist dir die Antwort klar.

was memory leaks sind weiß ich...
AFE-GmdG hat Folgendes geschrieben:

Wenn dein Programm beendet wird, ist auch der verlorene Speicher wieder freigegeben.

gut danke für die antwort
*CLOSE PLS*
_________________
Wer einen Rechtschreibefehler findet, darf ihn behalten, in ein Regal stellen und jedem der vobei geht sagen, dass ER ihn gefunden hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 35
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 01.03.2009, 23:37    Titel: Antworten mit Zitat

magigman hat Folgendes geschrieben:
AFE-GmdG hat Folgendes geschrieben:
Wenn du dich fragst, was genau "Memory Leak" bedeutet, ist dir die Antwort klar.

was memory leaks sind weiß ich...
AFE-GmdG hat Folgendes geschrieben:

Wenn dein Programm beendet wird, ist auch der verlorene Speicher wieder freigegeben.

gut danke für die antwort
*CLOSE PLS*


@AFE-GmdG:
Sowas wird sicher dafür sorgen das er das Thema Speichermanagement komplett sein lässt.

AFE hat recht das der Speicher freieggeben wird, dies bezieht sich aber nur auf den Speicher der in deinem eigenen Prozess reserviert wurde. COM Objekte, oder Prozessfremde Dinge werden wiederum NICHT frei gegeben, dies trofft noch auf einige andere Dinge zu, deshalb sollte man es sich auf jeden Fall zur Gewohnheit machen die Dinge die man reserviert auch wieder frei zu geben.

Dies kann verwirrend sein wenn man zB mit DX Kram arbeitet bei dem man die Sachen mit Release() freigibt anstatt mit delete.

Man kann sich hier die Sache aber stark erleichtern indem man sich zB entweder selbst bestimmte Container schreibt welche das ganze erleichtern. zB bei den DX Sachen die CComPtr Klasse, ob man sie schön findet sei dahingestellt, zumindest braucht man sich in den meisten Fällen nicht mehr darum kümmern das der Speicher freigegeben wird.

Hier sollte man natürlich nicht vergessen das Anfänger eher die traditionelle Methode per delete/Release verwenden sollte bis er erfahren genug ist für die "Erleichterungen". Einfach nur um das Wissen über die Probleme die durch Nichtbeachtung entstehen können zu verinnerlichen.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum