PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : speicherbereich wird überschritten bei lokaler feld deklaration (c/c++)



buchwaldj
18-12-2009, 14:55
hi,
hat jmd zufällig ne ahnung woran das liegt wenn ich felder vom typ double innerhalb von main() mit mehr als 1047x1000 elementen deklariere ein speicherzugriffsfehler bekomme, aber wenn ich die deklaration ausserhalb von main() mit #define mache, viel mehr elemente speichern kann?

sommerfee
18-12-2009, 15:12
Für mich hört sich das so an, als wenn der Stack bzw. der lokale Heap genau 8MB groß ist.

Abhilfe: Das array entweder mit "static" statisch deklarieren (dann landet es nicht mehr auf dem Stack) oder aber den benötigten Speicher dynamisch anfordern. Alternativ könnte man auch versuchen, die Stackgröße hochzudrehen.