se liberara la memoria cuando el proceso termine.<br>el sistema operativo la va a liberar.<br>David<br><br><div class="gmail_quote">El 30 de julio de 2009 12:58, David Inocente Romero Escalona <span dir="ltr"><<a href="mailto:di.romero@hotmail.es">di.romero@hotmail.es</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
Utilizo el operador predefinido "new" de C++.<br>
 <br>
Pero mi objetivo al usar la función "exit()" no es liberar memoria, sino terminar el programa.<br>
 <br>
En concreto, se trata de una aplicación gráfica OpenGL que utiliza el toolkit GLUT. Con dicho toolkit, el programa nunca termina (pues hay un bucle principal infinito que se encarga de ir capturando y manejando diversos eventos). Entonces, para poder finalizar el programa, no queda más remedio que usar la función "exit()" para matar al proceso. En dicha aplicación creo objetos 3D que pertenecen a clases C++ que reservar memoria dinámicamente cuando crean el objeto (para almacenar los vértices y los vectores normales del objeto OpenGL). Esas clases tiene el destructor definido e implementado correctamente para liberar la memoria dinámica que se haya podido reservar. Sin embargo, nunca elimino dichos objetos porque siempre tienen que estar vivos mientras la aplicación se está ejecutando. Mi pregunta viene de aquí. ¿al llamar a la función "exit()" se liberará esa memoria reservada dinámicamente (aunque no haya eliminado explícitamente a dicho objetos)?<br>


 <br>
La única posible solución que se me ocurre es utilizar la función "atexit()" para registrar funciones que se encarguen de eliminar dichos objetos antes de que finalmente se mate al proceso. Pero, ¿es esto necesario?<br>


 <br>
Muchas gracias.<br>
<br> <br>
<hr>
From: <a href="mailto:memmaker650@gmail.com" target="_blank">memmaker650@gmail.com</a><br>To: <a href="mailto:cconclase@listas.conclase.net" target="_blank">cconclase@listas.conclase.net</a><br>Date: Thu, 30 Jul 2009 10:49:33 +0200<br>

Subject: Re: [C con Clase] [C con clase] ¿exit() libera memoria dinámica?<div class="im"><br><br>Para liberar memoria dinamica primero debes de decirnos que metodo has usado de reserva de memoria, no obstante ninguno de los 2 métodos tiene como solución exit(). Si usas malloc() para reserva de memoria se usa free() para liberar la memoria. Mientras que si usas new() , la porción de memoria se libera con delete().
<div>Busca más información por la red si tienes alguna duda.</div>
<div><br></div>
<div>Espero haber contestado a tu pregunta.<br>
<div>
<div>El 29/07/2009, a las 22:51, David Inocente Romero Escalona escribió:</div><br>
<blockquote><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: medium; line-height: normal; font-size-adjust: none; font-stretch: normal; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px;">
<div style="font-family: Verdana; font-size: 10pt;">Hola,<br> <br>Me preguntaba si la función exit() de la biblioteca estándar de C++ libera la memoria dinámica que se haya reservado antes de matar al proceso que ejecuta el programa.<br>

 <br>Si no lo hace, ¿puede ocurrir que se queden reservados trozos de memoria que ya no se puedan volver a usar por otros procesos hasta que se reinicie el ordenador?<br> <br>Gracias.<br> <br><br>
<hr>
Charlas más divertidas con el nuevo<span> </span><a href="http://download.live.com/" target="_blank">Windows Live Messenger</a>_______________________________________________<br>Lista de correo Cconclase<span> </span><a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>

<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>Bajas:<span> </span><a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></div>

</span></blockquote></div><br>
<div><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px;">
<div style="">
<div>Best regards</div>
<div>Jorge</div>
<div><br></div></div></span><br></div><br></div><br><hr>Charlas más divertidas con el nuevo <a href="http://download.live.com" target="_blank">Windows Live Messenger</a></div></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>

(")_(")signature to help him gain world domination. <br><br>