SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: tiwanacote en Jueves 2 de Junio de 2011, 01:13

Título: Manejo de memoria con arreglos dinamicos
Publicado por: tiwanacote en Jueves 2 de Junio de 2011, 01:13
Gente, soy bastante nuevo en esto y me encuentro con un problema.

Tengo un archivo de texto "puntos.txt" del cual leo coordenadas de distintos puntos (ejemplo   2.43  ; 10.0087  ;   7.54366 ) y los cargo en un arreglo dinámico bidimensional double de 3 x n   (donde n es la cantidad de puntos)

Todo anda perfecto hasta que leo archivos de muchos puntos... evidentemente me quedo sin memoria, dado que cuando leo pocos el programa termina perfecto y cuando leo muchos se cuelga tirando el clásico error de windows "Se ha producido un error este programa debe cerrarse".

¿Que debo hacer? ¿Que debería comenzar a explorar? ¿Algo para recomendar? ¿Debo manejar la Cache o estoy diciendo cualquier cosa ?

Agradecería la ayuda!!!
Saludos!
Título: Re: Manejo de memoria con arreglos dinamicos
Publicado por: alexg88 en Jueves 2 de Junio de 2011, 12:27
Tienes que estar leyendo muchísimos puntos para estar quedándote sin memoria.

Si fuese este el caso, tienes que comprobar que al asignar memoria mediante malloc o new (si es en C++), la asignación de memoria se esté produciendo, porque si no estarías intentando acceder a una memoria que no has reservado.
Título: Re: Manejo de memoria con arreglos dinamicos
Publicado por: tiwanacote en Sábado 4 de Junio de 2011, 00:16
Amigo, estoy utilizando NEW correctamente y es cierto que son muchisimos puntos....

Sobre que debería leer o que comandos debería estudiar para liberar memoria o saber cuanta me quedad?

Gracias!