Borland Builder Absturtz durch zu große Konstante
-
Hallo,
ich wollte mal fragen wie ich dem Builder dazu bringe mir ein programm zu kompilieren das folgende variable auch grösser als 3800 verkraftet.
#define glob_xy 3500
der wert wird gebraucht um ein 2d array zu initialisieren
also bsp:float xarray1[glob_xy][glob_xy];
bei 3500 kann man eigentlich immer compilen bei 3800 ist es schon glücksache ob borland builder blos diese ausgabe macht
[Linker Fehler] Fatal: Access violation. Link terminated.
oder ob er gleich abstürtzt.
Gibts da ein fixxes heilmittel oder sind die informationen nicht ausreichend?
-
Kann das Problem nicht nachvollziehen... hmmm
-junix
-
mmh ja ich weis nicht richtig wie ich das erklären soll
...
also fakt ist das es an der konstante liegt...
die konstante gibt die grösse des 2d arrays an. es werden aber trotzdem noch weitere berechnungen mit der zahl (gehen wir mal von 3500 aus)
so kommt es auch vor das im späteren verlauf des programms
3500³ ausgerechnet werden soll (also 3500 * 3500 * 3500 etc)das läuft dann alles auch noch mehrfach durch verschiedene schleifen etc
ich glaube so ist es einfacher als wenn ich das komplette programm poste. was schon wegen der grösse und der verwendeten variablen schwer zu verstehen ist.
oder anders gesagt wie kann ich möglichst grosse zahlen bearbeiten?
ich bin der meinung das ich überall float genommen habe wo es nötig ist (es geht noch über die mrd hinaus)was hat es mit [C++ Warnung] pow_inc.cpp(769): W8056 Überlauf in mathematischem Integer-Ausdruck
genau auf sich ?
-
Alithecoaster schrieb:
ich glaube so ist es einfacher als wenn ich das komplette programm poste. was schon wegen der grösse und der verwendeten variablen schwer zu verstehen ist.
Dann versuch mal, das Problem in einem Minimalprojekt nachzuvollziehen. Mit etwas Glück kommst du dabei selbst auf die Lösung, ansonsten kannst du dann immer noch den (vergleichsweise kurzen) Quelltext zeigen oder das Testprojekt zum Download bereitstellen.