Depende de por qué quieres desasignar la memoria. ¿Es un espacio o un problema de seguridad o ambos? El número 6 a continuación es mi mejor respuesta, sin saber ningún detalle sobre el problema que está tratando de resolver.
0. Controle el problema y no utilice la asignación dinámica.
1. matar o salir del programa
2. cerrar sesión
3. reiniciar
o
4. dentro de C / C ++: depende de cómo lo asignó, como dijo Alex en la primera respuesta.
Una alternativa sin liberar la memoria sería escribirle ceros.
- ¿Hay algún recuerdo en el fondo que te haga sentir motivado o animado una vez que lo recuerdes?
- ¿Cuál fue el momento más memorable que tuviste con tu madre?
- ¿Cuál fue el momento más triste que pasaste con alguien?
- ¿Cuáles son algunas frases o cosas que las personas te han dicho que siempre tienes flotando en tu cabeza?
- Si las circunstancias inevitables eliminaron de alguna manera su memoria de los últimos diez años de su vida sin posibilidad de reparación, ¿cómo cree que afectaría su identidad y estado de ánimo en los próximos días?
5. Hágalo de la manera más difícil: escriba su propia función para acceder al método que utilizó para asignar la memoria adicional y desasignarlo usted mismo.
6. Utilice el sistema de asignación temporal proporcionado por la pila utilizando variables temporales dentro de la función. deberá saber de antemano cuánta memoria asignar en la pila, lo que significa que * -> no puede asignar dinámicamente <- *. Una vez que la función regresa a la persona que llama, el programa desasignará automáticamente las variables temporales. Hay advertencias aquí: por lo general, la pila se asigna en trozos de un megabyte. Es posible que deba cambiar un parámetro del sistema para asignar trozos más grandes, pero esto es un problema con las limitaciones de tamaño de la memoria porque CADA función puede poner tanta memoria en la pila (la recursión eliminará la utilidad del programa). YMMV.
Nota: El uso de más memoria de la que tiene RAM puede hacer que el programa se “ejecute fuera del disco duro”, lo que ralentizará el programa y el sistema se reducirá (debido a un intercambio excesivo) a un rastreo inmanejable.
Según el sistema, las bibliotecas y la función que use, puede encontrar características que le permitan reasignar / reutilizar fácilmente la memoria ya asignada.
Finalmente, asigne memoria permanentemente y reutilice eso programáticamente.
Buena suerte.