plan_B: C++: Corruption of heap error bei fclose()

Beitrag lesen

Hallo,

Was ich jetzt beim Testen herausgefunden hab: Ich kann komischerweise nicht mehr als 468 caras/faces (im folgenden caras) abspeichern. Unabhängig von der Anzahl der eingelesenen caras bzw. numcara bzw. des abhängig von numcara allocierten Speichers. Ich hab gemerkt, dass wenn ich mehr als 468 caras einlese, die Index-Werte der Vertices der einzelnen caras nach dem ersten cara[0] (also ab cara[1]) auf ziemlich willkürliche Werte verweisen. Wenn ich den allokierten Speicherbereich verdopple, tut sich da leider nichts.

meine C-Kenntisse habe ich schon etliche Jahre nicht mehr aufgefrischt. Deswegen kann ich dir jetzt wahrscheinlich auch nicht viel weiterhelfen.
Wenn ich mich nicht irre, kann man mit malloc nicht mehr als 64kb allocieren. Möglich, dass durch verdoppeln diese Schranke überschritten wurde. Ob man jetzt einfach auf calloc umstellen kann oder sich damit andere Schwierigkeiten (Adresslänge) einhandelt, wirst du wohl eher überblicken können.

so richtig in den Quellcode vertiefen mag ich mich aber auch nicht...

Gruß plan_B

--
     *®*´¯`·.¸¸.·