Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

new operator in VC++ 5.0 produziert Schutzverletzung in Kernel

(Anonym) / 5 Antworten / Flachansicht Nickles

wenn ich mit new ein Feld (Größe ~3600) Einträge (a 32 Byte) beantrage geht das beim ersten mal gut. Später brauche ich ein zweites Feld(~7100 Einträge a 32 Byte). Compile, Link, Build alles kein Problem. Bei der Ausführung bricht er jedoch, genau bei der Speicherreservierung ab. Der Aufruf-Stack ist von new über malloc bis in die KERNEL vorgedrungen und dann geht nix mehr.
"Unhandled Exception in ... (KERNEL32.DLL) 0x0000005 Access Violation"

int i = 3600;
Point* t;
t = new Point[i];
...
i = 7100;
Point* g;
g = new Point[i]; // hier passierts

Speicher hab ich noch genug (mit GlobalMemoryStatus getestet)
kann mir jemand helfen? Welche gründe kann eine Access Violation haben?

Danke fürs lesen,
Dreamforger

bei Antwort benachrichtigen
thomas woelfer (Anonym) „new operator in VC++ 5.0 produziert Schutzverletzung in Kernel“
Optionen

dein code (der gepostete) ist sowiet ok. kannst du das ganze in ein kleines uebersetzbares programm giessen das auch diesen fehler aufweist? falls ja: hier posten, dann kann man mehr sagen.

WM_GOODLUCK
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen