HeapReAlloc Windows-Fehler?



  • Wenn ich HeaReAlloc immer wieder aufrufe, immer mit 8192 Bytes mehr, dann kommt bei etw 7 MB Speicherrserviuerung ein Fehler, dass er nicht mehr genug Speicher hat, wenn ich dann aber unmittelbar danach einen neuen HeapCreate mache und die 20-fache Menge an Speicher anfordere dann geht´s!!!

    Das klappt bis etwa der Hälfte des vorhandenen Speichers, also 256 MB
    weiss jemand was darüber, ich überlege, ob ich einen Swap-Heap einbaue, wobei ich abwechseln den einen Heap kopiere und wieder zerstöre, das funktioniert zuverlässig, aber dann habe ich eben nur den halben Speicher zur verfügung, weil ja immer eine Kopie vorhanden sein muss
    kennt hier jemand dieses dilemma und den ausweg darausd?

    Gregor



  • Brauchst du denn wirklich so viel Speicher direkt hintereinander?? Wofür reservierst du den Speicher?



  • das ist so ein universell verwendbares data-object, dass notfalls auch sämtliche speicher braucht...zum beispiel wenn du ne ganze netzwerkstruktur einlesen willst und in ne datenbank packen willst.
    ich habe inzwischen rausgefunden, dass es mit einem trick geht:
    man created einfach einen nezuen heap und schaufelt alles rüber, leider geht dabei die hälfte des speichers drauf, aber das ist immer noch besser als ein absturz... microsoft ist wirklich nicht der beschreibung entsprechend...
    das dataobject ist jetzt gerade in der testphase, bis jetzt konnte es 33 MB allozieren, ich muss mich beeilen mit dem schreiben dieses textes, denn ich habe bloss 512 MB und da is er bald....


Anmelden zum Antworten