C/Visual C - Haroky

 
Vista:

Haroky

Publicado por Túrin (5 intervenciones) el 12/03/2001 12:45:46
O creo que se llamam así. Mi problema es que cuando se carga el sistema gráfico se acaba el programa y me dice: Not enough
memory to load graphics driver.
Creo que el problema es que carga los datos en memoria dinámica (heap) y estos son demasiados. Las funciones predeterminadas
citadas anteriormente tengo entendido que le dicen al programa que utilize una determinada memoria de más para los procesos. Sin
embargo me han dicho que si quiero decirle puede cojer mucha más debo escribir en el programa las funciones éstas pero creadas
por mí mismo. Pero, no sé cómo hacerlo. Alguien me dice cuál es el código? Quiero decirle que le ofrezco 20 megas. Muchas grácias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Asignar más memoria para cargar el sistema gráfico

Publicado por Alejandro (913 intervenciones) el 09/09/2024 17:25:23
¡Hola, Túrin!

Entiendo que estás experimentando un problema de falta de memoria al cargar el sistema gráfico en tu programa y te gustaría asignar más memoria para solucionarlo. Aquí tienes una posible solución:

En C/C++, puedes utilizar la función `malloc` para asignar memoria dinámica en el heap. Puedes asignar una cantidad específica de memoria utilizando el tamaño en bytes que deseas reservar. En tu caso, si deseas asignar 20 megabytes de memoria, puedes hacerlo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdlib.h>
 
int main() {
    // Asignar 20 megabytes de memoria
    size_t size = 20 * 1024 * 1024; // 20 megabytes en bytes
    void* memory = malloc(size);
 
    if (memory == NULL) {
        printf("Error al asignar memoria.\n");
        return -1;
    }
 
    // Realizar las operaciones necesarias con la memoria asignada
 
    // Liberar la memoria asignada
    free(memory);
 
    return 0;
}

En este ejemplo, utilizamos la función `malloc` para asignar 20 megabytes de memoria en el heap. La función toma como argumento el tamaño en bytes que deseas reservar. Si la asignación de memoria es exitosa, la función devuelve un puntero al inicio de la memoria asignada. Si la asignación falla, la función devuelve `NULL`.

Después de asignar la memoria, puedes realizar las operaciones necesarias con ella. Recuerda liberar la memoria utilizando la función `free` una vez que hayas terminado de usarla.

Ten en cuenta que asignar grandes cantidades de memoria puede ser riesgoso, ya que puede agotar los recursos del sistema. Asegúrate de que realmente necesitas asignar 20 megabytes de memoria y considera optimizar tu programa para utilizar la memoria de manera más eficiente si es posible.

Espero que esta información te sea útil para asignar más memoria en tu programa y solucionar el problema de falta de memoria al cargar el sistema gráfico. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar