<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
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 id=stopSpelling>
From: memmaker650@gmail.com<BR>To: cconclase@listas.conclase.net<BR>Date: Thu, 30 Jul 2009 10:49:33 +0200<BR>Subject: Re: [C con Clase] [C con clase] ¿exit() libera memoria dinámica?<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 class=EC_Apple-interchange-newline>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_Apple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=EC_hmmessage>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 class=EC_Apple-converted-space> </SPAN><A href="http://download.live.com/">Windows Live Messenger</A>_______________________________________________<BR>Lista de correo Cconclase<SPAN class=EC_Apple-converted-space> </SPAN><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">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</A><BR>Bajas:<SPAN class=EC_Apple-converted-space> </SPAN><A href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">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: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_Apple-style-span>
<DIV style="WORD-WRAP: break-word">
<DIV>Best regards</DIV>
<DIV>Jorge</DIV>
<DIV><BR></DIV></DIV></SPAN><BR class=EC_Apple-interchange-newline></DIV><BR></DIV><br /><hr />Charlas más divertidas con el nuevo <a href='http://download.live.com' target='_new'>Windows Live Messenger</a></body>
</html>