Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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.
Geschrieben

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?

Geschrieben

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 :rolleyes:

Danke ich werde es mal anders versuchen

Geschrieben
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.

Geschrieben

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 ).

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...