MultiAllocateMemory

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

entschuldige, Nico, es ging mir nur um eine Hintergrund-Frage.

wenn du sagst, dass Memblocks, die kurz hintereinander allociert wurden,
alle freigegeben werden, wenn ein nächstes Alloc fehlschlägt,
dann frage ich: wo ist die grenze?
wieviel früher muss eine Mem allociert werden,
um nicht bei einem fehlschlag eines erneuten Alloc freigegeben zu werden?

dabei geht es mir weniger um deine Routine (sorry)
sondern um die verfahrensweise des Standard-Alloc von PB.

> Dein Bild ist nicht weg...
trifft das zu, wenn ich mit standard-alloc arbeite?

1000 pardon. das ist eine grundsatz-frage zu standard-funktionen.
vielleicht habe ich zu wenig hintergrundwissen in bezug auf PB-befehle,
aber kaum zu wenig hintergrundwissen in bezug auf allgemeine Speicherverwaltung.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Du stiftest hier wohl gern Verwirrung, was? <)

Es werden keine allokierten Speicherbereiche wieder einfach so freigegeben,
wenn sie einmal allokiert sind. Das musst du schon selbst machen. Von
alleine wird nichts einfach so wieder freigegeben.

Wenn ein AllocateMemory() fehl schlägt, dann wurde der Speicher nicht allokiert und kann somit nicht benutzt werden. Logisch. Aber es werden keine
anderen Speicherbereiche wieder freigegeben, damit ein neuer allokiert
werden kann. Das wäre ja Blödsinn.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nein, verdori.
ich will nur wissen, was abgeht.

warum zum geflügelten nackthals bringst du dann ne routine raus,
wenn es eh banane is, wann welches Mem wo wie allocated wurde?

wenn ich beim normalen pennermäßigen geschlafenen allocate nen fehler erwarten muss,
dann wüsste ich auch gerne, wo wann wie!

und wenn nich, dann hab ich dich mißverstanden, und sorry.

barn, ich kann doch hier nich so ne nummer durchziehn. wo is mein produzent? feuer ma den regisseur.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Tut mir Leid. Ich kann es dir nicht besser erklären.

Ich weiß nur, dass sie für manche Sachen praktisch sein könnte.

@all außer Kaeru:
Hilfe! :freak:

:wink:
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

warum zum geflügelten nackthals
:lol:

es geht nicht darum zusätzliche sicherheitsfeatures bereitzustellen. es geht lediglich darum, schreibarbeit zu sparen. nämlich die schreibarbeit, alle speicher wieder freizugeben, die man für eine geplante arbeit benötigt hätte - eine arbeit die man aber nicht ausführen konnte, weil einer der dafür benötigten speicherblöcke z.b. nicht alloziiert werden konnte.

dass du die zuvor alloziierten blöcke nicht mehr benutzten wirst, hat nichts direkt mit irgendeinem alloc-fehlschlag zu tun. du könntest sie auch benutzen, aber du willst es nicht, weil du für das was du vorhattest auch jene bräuchtest, die du eben nicht erhalten konntest (weil z.b. der speicher voll ist).
..also gibst du sie wieder frei.. und das kannst du mit NTQ's dingsta in einem rutsch erledigen.

vielleicht versteh ich dich ja auch nur nich :cry:
[in diesem thread spukt es]
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
HeX0R
Beiträge: 3054
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Wieso sagt eigentlich keiner was zu meiner Methode ?
So daneben, oder hatte ich einfach das Pech des 9. Posters ? :mrgreen:
Benutzeravatar
Proton
Beiträge: 152
Registriert: 20.06.2006 12:21
Wohnort: Eckernförde /Stadtbergen

Beitrag von Proton »

>>>Hexor: Wieso sagt eigentlich keiner was zu meiner Methode ?

Deine Methode ist auf jeden Fall der Methode von NicTheQuick vorzuziehen.
Sie erlaubt auch noch andere Dinge wie z.B. übergreifende Pointer in
Schleifen usw.

Nur hilft sie leider auch nicht gegen meine momentane Erkältung und Fieber :wink:
Zitat:
"Ich kann mich vor die Meute stellen und für Nichts kämpfen. Ich kann aber auch einen Schritt zur Seite gehen, die Meute vorbeiziehen lassen und dabei meine Zeit angenehm bei Freunden verbringen.". Da hat er Recht, mein Pap's.
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag von Karl »

@HeXOr:

Finde ich so auch besser und übersichtlicher so, wenn zur Kompilierzeit schon bekannt ist, was ich so alles brauche. Die andere Methode ist eher für dynamische Geschichten interessant - ich glaube fast, dass es darum geht.

Gruß Karl
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@HeX0R:
Genau, es ging um dynamische Speicherblöcke, die man im Nachhinein
nochmal in der Größe ändern kann. So ist es bei mir nämlich.

Für statische Zwecke ist eine Methode natürlich die einfachere. :allright:
Antworten