Zeiger Verwaltung?!
-
Hi,
kann mir Jemand sagen, ob ich mir alle Zeiger die ich in meinem Programm habe auch auflisten kann und evtl. auch worauf sie verweisen?
ColdSharp
-
Wenn das gehen würde, dann könnte man die Speicherverwaltung gleich automatisieren, weil den Overhead dafür hätte man dann eh schon. Also nein.
-
Du weisst nicht worauf sie verweisen? Ich würde mir da richtig Sorgen machen, aber nicht deshalb, ob mir da irgendwas weiterhelfen kann, sondern ob ich überhaupt weiss was ich tu.
-
Sinnlose Beiträge findet man wohl überall.
Nunja,
kannst du das mal mit der Speicherverwaltung konkretisieren? Ich meine, was ist so falsch daran zu denken, dass man innerhalb seines Programmes die Kontrolle hat? Wenn ich einen Zeiger erstelle, dann kann ich mir anzeigen lassen, auf welchen Speicherbereich er zeigt. Warum kann ich mir dann nicht anzeigen lassen, welche Zeiger ich, innerhalb meienes Programms, definiert habe?
ColdSharp
-
ColdSharp schrieb:
Sinnlose Beiträge findet man wohl überall.
Nunja,
kannst du das mal mit der Speicherverwaltung konkretisieren? Ich meine, was ist so falsch daran zu denken, dass man innerhalb seines Programmes die Kontrolle hat? Wenn ich einen Zeiger erstelle, dann kann ich mir anzeigen lassen, auf welchen Speicherbereich er zeigt. Warum kann ich mir dann nicht anzeigen lassen, welche Zeiger ich, innerhalb meienes Programms, definiert habe?
ColdSharp
Weil das niemand speichert, du müsstest das schon selber erledigen.
-
weiss ja nicht ob das gerade hier reinpasst
aber der Debugger zeigt sowas an.
vom prinzip: du erstellst einen zeiger der zeigt auf einen speicherplatz. denn musst du ja kennen bei erstellen. sprich muss ja sinn haben.
im programm kann sich vieles verändern, dafür ist der debugger gut. der zeigt dir nicht nur alle zeiger an sondern auch alle variablen und den momentanen wert, cool ne?
beim einem kleinen miniprogramm sollte man schon den überblick haben.
bei einem grösseren projekt, sollte man schon einen "entwurf" z.b. uml oder sonstiges haben und sich da informieren.
für ganz harte kann man ein perl script erstellen. sind nur ein paar zeilen. du musst halt einne zeiger alle mit ptr_ anfangen lassen. das script drüber und gut ist. ob das sinn macht, sei mal dahingestellt.
-
ColdSharp schrieb:
Sinnlose Beiträge findet man wohl überall.
Nunja,
kannst du das mal mit der Speicherverwaltung konkretisieren? Ich meine, was ist so falsch daran zu denken, dass man innerhalb seines Programmes die Kontrolle hat? Wenn ich einen Zeiger erstelle, dann kann ich mir anzeigen lassen, auf welchen Speicherbereich er zeigt. Warum kann ich mir dann nicht anzeigen lassen, welche Zeiger ich, innerhalb meienes Programms, definiert habe?
ColdSharp
Erstmal schreibe ich keine sinnlosen Beiträge. Naja, fast keine.
Und zweitens wollte ich dir damit klarmachen, dass Zeiger vom Anwender selbst initialisiert werden. Also musst du auch wissen, worauf sie zeigen.
Mir ist übrigens immer noch nicht klar was du willst. Willst du einfach nur wissen, wo es überall im Code Zeiger gibt oder suchst du sowas wie 'nen Heap Walker? Was denn nun?
-
Wenn du deine eigene Speicherverwaltung schreibst hast du natürlich die volle
Kontrolle über allen Speicher der über deine Routinen allokiert wird.
Genau das macht beispielsweise der Debug-Heap von Microsoft, der in den
Debug-Versionen von VC verwendet wird. Nur dadurch ist es möglich im Abschluss
eines Programmes die Ursachen von Memory-Leaks anzugeben.mfg JJ