|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
magigman Junior JLI'ler
Anmeldedatum: 25.09.2007 Beiträge: 87
Medaillen: Keine
|
Verfasst am: 28.02.2009, 13:52 Titel: Memory Leaks |
|
|
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 |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 28.02.2009, 16:04 Titel: |
|
|
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 |
|
|
magigman Junior JLI'ler
Anmeldedatum: 25.09.2007 Beiträge: 87
Medaillen: Keine
|
Verfasst am: 28.02.2009, 16:06 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 01.03.2009, 22:37 Titel: |
|
|
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 |
|
|
|
|
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
|