kmkzk
15/11/2004, 11:27
Hola!
Tengo un problemilla con un programa que estoy haciendo, y escribo aqui para ver si alguien me puede echar una mano :)
El caso es que tengo que cargar datos a una lista enlazada desde un fichero, y repetir este proceso varias veces, con diferentes ficheros.
Osea, cargar datos de ficheros diferentes en una lista enlazada. (no al mismo tiempo; primero uno, limpiar la lista, y otro fichero...)
Cuando hago la primera carga, todo funciona bien, los datos se cargan bien en memoria. Antes de hacer la segunda carga, tengo una funcion que libera la memoria (un bucle que pasa por todos los nodos de la lista y hace 'gp_mem_func.free' en cada nodo). Todo lo compila bien, pero cuando lo ejecuto en la GP, al hacer la liberacion de la memoria se me resetea :(
Alguien sabe a causa de que puede pasar esto?
Los ficheros que cargo no son muy grandes, asi que sin liberar la memoria, si asignaramos el valor NULL al puntero donde se carga toda la lista, deberia hacer una nueva carga sin problemas, no? Lo he probado, y se resetea tambien.
He revisado el codigo mil veces y no se que puede ser.
No tengo mucha experiencia en esto de memoria dinamica, asi que seguramente estare haciendo alguna cagada gorda :D
Alguna idea?
Gracias y un saludo!
Tengo un problemilla con un programa que estoy haciendo, y escribo aqui para ver si alguien me puede echar una mano :)
El caso es que tengo que cargar datos a una lista enlazada desde un fichero, y repetir este proceso varias veces, con diferentes ficheros.
Osea, cargar datos de ficheros diferentes en una lista enlazada. (no al mismo tiempo; primero uno, limpiar la lista, y otro fichero...)
Cuando hago la primera carga, todo funciona bien, los datos se cargan bien en memoria. Antes de hacer la segunda carga, tengo una funcion que libera la memoria (un bucle que pasa por todos los nodos de la lista y hace 'gp_mem_func.free' en cada nodo). Todo lo compila bien, pero cuando lo ejecuto en la GP, al hacer la liberacion de la memoria se me resetea :(
Alguien sabe a causa de que puede pasar esto?
Los ficheros que cargo no son muy grandes, asi que sin liberar la memoria, si asignaramos el valor NULL al puntero donde se carga toda la lista, deberia hacer una nueva carga sin problemas, no? Lo he probado, y se resetea tambien.
He revisado el codigo mil veces y no se que puede ser.
No tengo mucha experiencia en esto de memoria dinamica, asi que seguramente estare haciendo alguna cagada gorda :D
Alguna idea?
Gracias y un saludo!