Hi ich möchte ein array mit mehr als 1 MB grösse definieren. bei der ausführung meldet das programm aber fehler sobald der array über 1 MB gross ist. Ich verwende msvc++ 6.0. hat irgenjemand eine Idee wie ich trotzdem dieses Array realisieren kann?
Nicht lokal definieren, sondern global, oder dynamisch allokieren. Eventuell kannst du auch die Stackgröße hochsetzen. -- Wer früher stirbt ist länger tot.
Eventuell kannst du auch die Stackgröße hochsetzen.
ah nicht da hinhören... alloier das teil dynamisch
entweder mit new und delete oder mit malloc und free...
denn stack kannst du zwar hochschrauben aber wenn mans übertreibt fängt das os irgend wann mal an zu swappen, weil der ram dicht ist....
ich weiss gar nicht obs dafür ne faustregel gibt aber bei mir landet jedes array was die 10000 byte-grenze sprengt auf dem heap...
@unwissender seit wann empfliehst du den leuten globals und so sachen wie stackgrösse hochsetzen um da ein riesenarray reinzupacken? bin ja schockiert -- ...fleißig wie zwei Weißbrote
ich musste bis jetzt nur einmal bei einem programm die HEAP-Größe hochsetzen da es ein ziemlich speicherintensives grafik-graffel war -- class God : public ChuckNorris { };
@FloSoft Die Heapgröße kann man meiner Meinung bei Windows (wenn das gemeint ist) nicht hochsetzten als C-Programmer hat man eh alles.
@Windalf Das das OS anfängt zu swappen, bei größerem Stack und dann nicht bei gleichem dynamischen Speicher ist Blödsinn . Speicher hat das OS oder nicht.
Bearbeitung:
Wenn ich falsch liege (kann ich mir nicht vorstellen), klärt mich auf!
-- Wer früher stirbt ist länger tot.Dieser Post wurde am 10.07.2004 um 23:40 Uhr von (un)wissender editiert.
Das das OS anfängt zu swappen, bei größerem Stack und dann nicht bei gleichem dynamischen Speicher ist Blödsinn
Ja aber wenn man das im allgemeinen ordentlich macht, verarbeitet man immer stückweise und allokiert nicht 500Mb auf einmal.... -- ...fleißig wie zwei Weißbrote
ich musste bis jetzt nur einmal bei einem programm die HEAP-Größe hochsetzen da es ein ziemlich speicherintensives grafik-graffel war
Ich rede hier grad vom VC, da gibts dann ab ca 64MB Heap kann er keinen weitere daten anlegen, da win dem programm scheinbar standardmäßig nur soviel zuteilt. Man muss dann die Heapreservierungsgröße (hab mich vorher vielleicht etwas ungünstig ausgedrückt) hochsetzen damit dann mehr geht. -- class God : public ChuckNorris { };
Habe ich nie erlebt! Gerade gestern habe ich, um einen Alloator zu testen, > 1 GB allokiert,geht ohne irgendwelche Einstellungen. Wäre auch seltsam wenn nicht, denn das Verhalten was du beschreibst ist prinzipiell das der Java-VM. -- Wer früher stirbt ist länger tot.