¡Buenas!
Estoy trabajando con memoria dinamica bajo Windows 7 con 4 GB de RAM. Para saber si las distintas funciones encargadas de manejarla realizan bien su trabajo estoy utilizando mensajes en forma de unsigned long. Si trabajo con fragmentos pequeños de memoria, la insercion de informacion en un punto de la memoria, el reemplazo de un fragmento por otro o la extension de un fragmento con otro funcionan bien.
El problema esta al pasar de 112 bytes. En ese momento toda operacion que conlleve el aumento de la memoria me devuelve el mensaje de que la asignacion no ha podido ser posible.
Anteriormente habia realizado un trabajo parecido bajo Windows 98 y XP y nunca me habia encontrado con este problema. Aunque tambien es verdad que he cambiado el enfoque del codigo. Ahora en lugar de que cada funcion actue sobre la memoria directamente he creado un conjunto de funciones que realizan acciones sobre la memoria y el resto de funciones utilizan estas ultimas.
¿Porque con pequeños fragmentos de memoria no tengo problema, pero cuando pasado un limite comienzan los problemas?
Dejar codigo resultaria casi imposible, porque son unos cuantos ficheros, un par con unas 450 lineas de codigo (o algo mas), con llamadas a funciones entre ellos.
Simplemente queria saber si sabiais la razon de que suceda lo descrito.
¡Saludos!
PD: No se si sera de importancia o no. Una funcion no implica una sola asignacion de memoria. En una sola llamada a las funciones que la manipulan puede haber dos o tres sentencias relacionadas con la asignacion dinamica de memoria. Lo digo por si el hecho de que se ejecuten en tan poco periodo de tiempo puede influir... Hasta ahi no llego...
¡Saludos!