xcvbm Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 http://people.freenet.de/sirblender/problem.JPG [ich habe da mal einen Link draus gemacht | Klotzkopp] Diese Fehlermeldung kommt beim Ausführen des Programms. Wenn ich das 3 Dimensionale Array auskommentiere kommt diese Meldung nicht und das Programm läuft. Was habe ich falsch gemacht? ... // Konstruktion public: int lnMaxTiefe; int lnMaxBreite; int lnMaxHoehe; int nHoheTiefeBreite[200][200][500]; // 3D Array CContainerDlg(CWnd* pParent = NULL); // Standard-Konstruktor ... Dies ist die Meldung in der Leiste: Geladene Symbole für "C:\Programme\Microsoft Visual Studio\MyProjects\container\Debug\container.exe" "C:\WINDOWS\system32\ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. Geladene Symbole für "C:\WINDOWS\system32\MFC42D.DLL" Geladene Symbole für "C:\WINDOWS\system32\MSVCRTD.DLL" "C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. Geladene Symbole für "C:\WINDOWS\system32\MFCO42D.DLL" "C:\WINDOWS\system32\mfc42loc.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\apphelp.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. Thread 0x738 wurde mit Code 0 (0x0) beendet. Thread 0x614 wurde mit Code -1073741571 (0xC00000FD) beendet. Das Programm "C:\Programme\Microsoft Visual Studio\MyProjects\container\Debug\container.exe" wurde mit Code -1073741571 (0xC00000FD) beendet. Christoph Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 Welche fehlermeldung kommt?:confused: Gruß wasweißich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 Ich vermute mal, dass dein Array mit 200*200*500 einfach zu gross ist um es auf dem Stack anzulegen. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 Original geschrieben von Goos Ich vermute mal, dass dein Array mit 200*200*500 einfach zu gross ist um es auf dem Stack anzulegen.Genau das vermute ich auch. Das sind immerhin über 19 MByte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nagelhammer Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 Nur 19 MByte? 200 * 200 * 500 macht: 20.000.000 Bytes Dann ist aber ein int regulär 4 Byte groß, sind dann plötzlich 80.000.000 Bytes, also ca. 80MB! Da könnte es auf dem Stack ein wenig eng werden. Nicht destotrotz sollte auch bei dieser größe von Array überlegt werden, ob man diese Menge Daten ernsthaft belegen und verarbeiten möchte oder evtl. über einen anderen Datentyp oder Array nachdenkt, der dynamischer reagiert -> STL? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xcvbm Geschrieben 23. September 2002 Autor Teilen Geschrieben 23. September 2002 na das is ja dann kein Wunder das es nicht läuft. Sollte ich mir was anderes Überlegen. Und ich habe mir die Haare gerauft Danke ich werde es mal anders versuchen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 23. September 2002 Teilen Geschrieben 23. September 2002 Woher seht ihr denn, daß das Array auf dem Stack angelegt wurde? Das Objekt könnte doch genausogut auf dem Heap angelegt worden sein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. September 2002 Teilen Geschrieben 24. September 2002 Original geschrieben von Crush Woher seht ihr denn, daß das Array auf dem Stack angelegt wurde? Das Objekt könnte doch genausogut auf dem Heap angelegt worden sein? int nHoheTiefeBreite[200][200][500]; Hier ist keine Speicherklasse angegeben (auto, static, extern, register), also gilt der Default: auto. Auto-Variablen werden auf dem Stack angelegt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hoagi Geschrieben 24. September 2002 Teilen Geschrieben 24. September 2002 Ob ein Objekt Speicher auf dem Heap oder auf dem Stack belegt wird eigentlich immer noch dadurch bestimmt ob es lokal oder global ( z. B. mittels new )definiert wird( mit Ausnahme von statischen Variablen, die können auch wenn sie lokal definiert sind nicht auf dem Stack abgelegt werden ). Übrigens belegt das Array nicht 19 sonder 76 MB ( int = 32 Bit ). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.