Retroceder   Foros de Emudesc > Tecnología > Informática > Programación

 
 
Herramientas
  #1  
Antiguo 01-jul-2011, 22:51
Avatar de Blastcore
Silver User
 
Fecha de Ingreso: diciembre-2010
Ubicación: Argentina
Mensajes: 980
Blastcore se está dando a conocer
2277-6646-9164
Predeterminado [Aporte][C++] Obtener memoria virtual disponible y total

[Aporte][C++] Obtener memoria RAM (Física) total y disponible


-------------------------------------------------------------------------------------------------

¡Holas! Como verán, el nuevo foro de Programación, recién ha empezado. Pero, nos estamos esforzando para aportar todo lo que podamos!

¿Qué necesitamos para esto?
  • Visual Studio 2010
  • Experiencia medio-avanzada de C++

Documentación adicional
Código Memoria Virtual Disponible


Código PHP:
#pragma once

#include <Windows.h> 
#include <stdio.h>
#define DIV 1024

int main()
{
    
MEMORYSTATUSEX VirtDisp;
    
VirtDisp.dwLength sizeof(MEMORYSTATUSEX);
    
GlobalMemoryStatusEx(&VirtDisp);
    
DWORDLONG VirtualDisponible VirtDisp.ullAvailVirtual;
    
printf("Memoria Virtual Disponible: %d Bytes (B)\n"VirtualDisponible);
    
printf("Memoria Virtual Disponible: %d Kilobytes (KB)\n"VirtualDisponible/DIV);
    
printf("Memoria Virtual Disponible: %d Megabytes (MB)\n"VirtualDisponible/DIV/DIV);
    
printf("Memoria Virtual Disponible: %d Gigabytes (GB)\n\n"VirtualDisponible/DIV/DIV/DIV);
    
system("pause");
    return 
0;

Explicación

Cita:
MEMORYSTATUSEX VirtDisp;
Aquí creamos una estructura MEMORYSTATUSEX con nombre "VirtDisp"

Cita:
VirtDisp.dwLength = sizeof(MEMORYSTATUSEX);
Este sería el tamaño de la estructura en Bytes.

Cita:
GlobalMemoryStatusEx(&RAMDisp);
Llamamos a la función GlobalMemoryStatusEx que se encarga de obtener la información de la RAM y la memoria virtual.

Cita:
DWORDLONG RAMDisponible = RAMDisp.ullAvailPhys;
Ahí creamos un DWORDLONG con nombre "VirtualDisponible" y de valor le ponemos VirtDisp.ullAvailVirtual que es la que se encarga de obtener la información de la Memoria Virtual disponible.

Nota: Los DIV sirven para dividir el valor que se obtuvo para pasarlo de bytes a kilobytes, etc

Código Memoria Virtual Total


Código PHP:
#pragma once

#include <Windows.h> 
#include <stdio.h>
#define DIV 1024

int main()
{
    
MEMORYSTATUSEX VirtTtl;
    
VirtTtl.dwLength sizeof(MEMORYSTATUSEX);
    
GlobalMemoryStatusEx(&VirtTtl);
    
DWORDLONG VirtTotal VirtTtl.ullTotalVirtual;
    
printf("Total Memoria Virtual: %d Bytes (B)\n"VirtTotal);
    
printf("Total Memoria Virtual: %d Kilobytes (KB)\n"VirtTotal/DIV);
    
printf("Total Memoria Virtual: %d Megabytes (MB)\n"VirtTotal/DIV/DIV);
    
printf("Total Memoria Virtual: %d Gigabytes (GB)\n"VirtTotal/DIV/DIV/DIV);
    
system("pause");
    return 
0;

Explicación

Es lo mismo que lo de arriba nada mas que cambiamos los "VirtDisp" por "VirtTtl", los VirtDisp.ullAvailVirtual por VirtTtl.ullTotalVirtual y unos textos.

Nota: Los DIV sirven para dividir el valor que se obtuvo para pasarlo de bytes a kilobytes, etc

-------------------------------------------------------------------------------------------------

¡Espero que les aya gustado el aporte! Si les gustaría que mejorara algo, solo díganmelo.

Todo mi código, esta comentado. Está prohibida la reproducción parcial o total del contenido sin derechos de autor.



 



Temas Similares para: [Aporte][C++] Obtener memoria virtual disponible y total
Tema Autor Foro Respuestas Último mensaje
[Aporte][C++] Obtener memoria RAM disponible y total Blastcore Programación 3 02-jul-2011 03:27
Memoria virtual facku21 Informática 4 09-sep-2010 04:24
Memoria Virtual Zikitriax Ayuda 1 07-nov-2009 19:37
memoria virtual joker_guns77 Informática 2 02-jun-2008 18:38
memoria virtual baja???? jeslar-x58 Ayuda 3 25-feb-2008 21:41


La franja horaria es GMT +2. La hora actual es: 14:13.


Alojamiento web 1&1. Powered by vBulletin®


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93