Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 12:25

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 13:39 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
geo hat geschrieben:
Ich muss mal was einwerfen:
Was ist eogentlich ein speicherleck :?:
Ist dass, wenn ich vergesse was freizugeben und da tote daten aufm speicher rumliegen???
Ich gebe nemlich nie was frei... :oops:
Was für Daten müssen eigentlich wieder freigegeben werden?
Bei DLs VBOs und Texturen mache ich das (manchmal)!


Ich empfehle dir .NET zu verwenden, dann brauchst du deine Angewohnheiten nicht zu ändern!
Ansonsten würde ich dir Empfehlen alle deine Quellcodes mal durchzugucken!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 14:28 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Zitat:
Ich muss mal was einwerfen:
Was ist eigentlich ein speicherleck
Ist dass, wenn ich vergesse was freizugeben und da tote daten aufm speicher rumliegen???
Ich gebe nemlich nie was frei...
Was für Daten müssen eigentlich wieder freigegeben werden?
Bei DLs VBOs und Texturen mache ich das (manchmal)!

:roll: :roll: :roll: :roll: :?:

Immer wenn man direkt Speicher belegt durch GetMem,New oder einen Konstruktur muß man den natürlich auch wieder freigeben.
Speicherlecks sind einige der am schwersten zu findenden Fehler und deshalb ist das bei .Net eine große Erleichterung.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 17:22 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also meiner Meinung nach ist das das erste was man bei Tutorials zu Klassen lernt: Es gibt einen Constructor und einen Destructor. Hast du das übersprungen?

Ich empfehl die wirklich mal mit TurboPascal zu programmieren. Da hast du nur 256KB RAM zur verfügung, und du wirst schnell lernen, dass Speicherfreigeben die einzige Möglichkeit ist überhaupt was größeres am Laufen zu halten... (so wars beim PBall Manager 1 nämlich...)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 18:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Naja, ich arbeite momentan auch nur mit Records und n par Objects... Und keine sachen mit Destruktor und so.
Vielleicht solte ich da in nächster Zeit noch mal n par Grundlagen nachholen!

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 18:57 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
geo hat geschrieben:
Naja, ich arbeite momentan auch nur mit Records und n par Objects... Und keine sachen mit Destruktor und so.
Vielleicht solte ich da in nächster Zeit noch mal n par Grundlagen nachholen!


Objecte sind doch Klassen oder meinst du was anderes???

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 19:11 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Die object Typen sind so eine Mischung aus record und class. Genauso wie records sind es Wertetypen, sie haben aber auch virtuelle Methoden, allerdings keine Sichtbarkeitsbeschränkungen,Properties und keine gemeinsame Basisklasse.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 24, 2005 19:43 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
und müssen nicht wie bei klasseninstanzen erst mit einem constructor erzeugt werden, sondern werden wie bei records bei ihrer deklaration erzeugt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 25, 2005 11:50 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Objects sollten aber mit New() und Dispose() erzeugt bzw. freigegeben werden. Sonst kann es zu merkwürdigen Phänomenen im nil-Bereich führen (Alte, verloren geglaubte objects zum Bleistift). Deswegen steht in der Delphi-Hilfe ja auch, dass man objects nicht benutzen soll, weil man da oft vergisst, diese zu erzeugen und freizugeben.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 25, 2005 12:26 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Frase hat geschrieben:
Objects sollten aber mit New() und Dispose() erzeugt bzw. freigegeben werden. Sonst kann es zu merkwürdigen Phänomenen im nil-Bereich führen (Alte, verloren geglaubte objects zum Bleistift). Deswegen steht in der Delphi-Hilfe ja auch, dass man objects nicht benutzen soll, weil man da oft vergisst, diese zu erzeugen und freizugeben.


Ach deswegen habe ich von dennen nie etwas mitbekommen!?!? :mrgreen:

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 25, 2005 14:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Seht ihr...hat doch jeder was bei meinen Speicherlecks dazugelernt... ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 20:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
öhm nur mal ne Frage hab mir jetzt nur mal das Tut angeschaut zum MemCheck: habsch da richtig verstanden? einfach bei Programmbeginn "Mem Chk;" aufrufen und ab dann gibts Exceptions bei nem Mem-Leak?

//
ach ja nur noch ne Nebenbemerkung zu GCs: also ein Prof hat mal erzählt, dass ein ehemaliger Student von ihm an irgendeiner Forschungsanstalt war und die haben mit Java gearbeitet. Dort gings um DNS und die hatten EINIGES an Daten und alles scheint der GC von Java da net richtig bereinigt zu haben ... . Also blindes Vertrauen in den GC, sollte man auch vorsichtig sein^^

edit: das muss sein für mich als Visual C++ 6-Verehrer^^: in der Enterprise-Version findet man dort auch super fein Mem-Leaks. EInfach im Debug-Modus laufen lassen und nach Programmende die Ausgabe durchforsten. Dort zeigt er Memleaks an. Doppelklick drauf und er springt zum new was das MemLeak ausgelöst hat. Er sagt sogar wieviel Byte "verloren" gingen und was in denen drinne stand^^ (wers brauch *lol*) Damit lässz sich jedenfalls wunderschön arbeiten


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 22:18 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du bindest MemChk in dein "Hauptprogramm" ein (also in deiner *.DPR Datei) und zwar ganz am Anfang. Das wars. MemCheck gibt dir auch aus in welcher Zeile das Loch auftrat und wieviele Bytes verloren gingen. AUßerdem auch, wieoft das Loch auftrat.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]