Programm endet mit Error-Code 0xC00000FD
-
Habe jetzt explizit nichts an den Einstellungen für Heap und Stack geändert. Im Quelltext steht auch nichts.
Was gibt es denn da überhaupt für Einstellungen und wo kann ich die machen? Muss ja wohl dann irgendwo dem Compiler oder Linker übergeben werden!?
Hab mich damit noch nie beschäftigt...
-
Globale Variablen werden normalerweise im Data-Segment abgelegt, und ich tippe mal einfach, dass die Summe deiner double-Arrays ein Default-Limit im Mingw sprengt.
Mal abgesehen davon, dass globale Variablen meistens überflüssig sind, Multithreading behindern, auf mangelndes Wissen oder Faulheit des Programmierers hinweisen:
gestalte die Arrays mal mit dynamischem Speicher (malloc/calloc).
-
Ja das Programm ist wie gesagt nicht meins und ich versuche noch nach allen Kräften zu vermeiden, dass ich mich da einarbeiten muss, weil es ziemlich lang ist.
Weiß jemand wie man MinGW sagt, dass er es mit anderen Limits kompiliert?
-
Nur aus Neugierde, was macht das Programm eigendlich und wieso brauchst du dazu 3 dreidimensionale Array?
-
Im Grunde macht das Programm nicht viel mehr als Datenpunkte in Objekte einer Renderskriptsprache (POVRay) zu übersetzen; die einzelnen sx[i][j][k], sy[i][j][k], sz[i][j][k] sind dann die Ausrichtung des Objekts mit diesen Koordinaten.
-
Wutz schrieb:
..., auf mangelndes Wissen oder Faulheit des Programmierers hinweisen:
Wie es aussieht hast recht gehabt.
-
Das Programm ist jetzt halt so wies ist; dann versuche ich schon auf dem einfachsten Wege das ganze zum Laufen zu kriegen, ja.
-
Evtl. hilft es wenn du die 3 Arrays als float deklarierst.
Achte nochmal auf Seiteneffekte falls da mit Zeigern drangegangen wird.
-
Habs mal versuchsweise als float deklariert, aber der Fehler bleibt der gleiche. Die Speichereinsparung reicht da scheinbar nicht...
-
Hat jemand ne Ahnung wie man MinGW sagen kann, dass er mehr Speicher reserviert?
-
Du wirst dir schon ein 64-Bit-Windows zulegen müssen, wenn du 400 Megabyte als globale Variablen haben willst. Unter 32-Bit-Windows sind von 4 GB virtuellen Adressraums 2 GB für den Kernel reserviert, die restlichen 2GB teilen sich das Codesegment, Heaps (davon gibt's unter Windows pro Prozess u.U. mehrere), Stacks, static storage und diverse Systemschnittstellen. Pack den Kram auf den Heap, da hast du eine Chance, 400 MB unterzubringen.
-
Büschn alt, aber ich kann mit Mingw die Arrays global deklarieren auf winXP 32bit, 4 GB (davon 3.24 nutzbar). Der Fehler liegt nicht in der Deklaration sondern woanders.