[ Foro de C ]

ERROR TRAS UNOS MINUTOS DE PROGRAMA

18-Apr-2020 14:09
Invitado (Yo)
3 Respuestas

He creado un programa que se trata de una panel de información en C. Tengo arrays de cadenas de caracteres que toma de archivos y varias funciones para modificar la informacion.
El programa funciona perfectamente durante unos 5-10 minutos. Actualiza los datos cada 10 segundos y no da ningun error hasta que de repente no imprime bien toda la información por pantalla.
No tengo mucha experiencia en programación pero creo que podría estar relacionado con algún tema relacionado con la memoria... ¿Alguna sugerencia para liberar memoria o algo?


18-Apr-2020 14:20
Nacho Cabanes (+83)

Efectivamente, suena a que reservas memoria de forma dinámica repetitivamente y luego no la liberas.

Si realmente la información no es creciente, bastaría con que la reserva de memoria fuera estática, antes de entrar a la zona repetitiva del programa, y luego reutiliza las variables.

Si es información muy variable, tendrás que ser concienzudo y liberarla cuando ya no sea necesaria.


18-Apr-2020 14:28
Invitado (Yo)

Process exited after 146.8 seconds with return value 3221225477
Esto es lo que me devuelve tras el error.
Entiendo lo que me dices pero he leído y la memoria dinámica se utiliza con punteros y no empleo ningún puntero aquí.
Muchas gracias.


18-Apr-2020 20:05
Nacho Cabanes (+83)

Quizá al reservar las cadenas de techo, con "malloc"  o similar...






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)