Emudesc en Facebook!RSS

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

 
 
Herramientas
  #1  
Antiguo 01-jul-2011, 19:59
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 RAM 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 RAM Disponible


Código PHP:
#pragma once

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

int main()
{
    
MEMORYSTATUSEX RAMDisp;
    
RAMDisp.dwLength sizeof(MEMORYSTATUSEX);
    
GlobalMemoryStatusEx(&RAMDisp);
    
DWORDLONG RAMDisponible RAMDisp.ullAvailPhys;
    
printf("RAM Disponible: %d Bytes (B)\n"RAMDisponible);
    
printf("RAM Disponible: %d Kilobytes (KB)\n"RAMDisponible/DIV);
    
printf("RAM Disponible: %d Megabytes (MB)\n"RAMDisponible/DIV/DIV);
    
printf("RAM Disponible: %d Gigabytes (GB)\n"RAMDisponible/DIV/DIV/DIV);
    
system("pause");
    return 
0;

Explicación

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

Cita:
RAMDisp.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 "RAMDisponible" y de valor le ponemos RAMDisp.ullAvailPhys que es la que se encarga de obtener la información de la RAM Disponible.

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

Código RAM Total


Código PHP:
#pragma once

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

int main()
{
    
MEMORYSTATUSEX RAMTtl;
    
RAMTtl.dwLength sizeof(MEMORYSTATUSEX);
    
GlobalMemoryStatusEx(&RAMTtl);
    
DWORDLONG RAMTotal RAMTtl.ullTotalPhys;
    
printf("RAM Total: %d Bytes (B)\n"RAMTotal);
    
printf("RAM Total: %d Kilobytes (KB)\n"RAMTotal/DIV);
    
printf("RAM Total: %d Megabytes (MB)\n"RAMTotal/DIV/DIV);
    
printf("RAM Total: %d Gigabytes (GB)\n"RAMTotal/DIV/DIV/DIV);
    
system("pause");
    return 
0;

Explicación

Es lo mismo que lo de arriba nada mas que cambiamos los "RAMDisp" por "RAMTtl", los RAMDisp.ullAvailPhys por RAMTtl.ullTotalPhys 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.




Última edición por Blastcore fecha: 01-jul-2011 a las 21:38.
  #2  
Antiguo 01-jul-2011, 21:32
Jr. Member
 
Fecha de Ingreso: noviembre-2009
Mensajes: 295
betokscr se está dando a conocer
Icon10 Re: [Aporte][C++] Obtener memoria RAM disponible y total

Buen aporte, lastima que solo funcione en plataformas windows.
Tal vez, puedes agregar, que DIV es una constante con 1024 de valor(No todos saben)

PD: A que te refieres con esto:
Cita:
Todo mi código, esta comentado. Está prohibida la reproducción parcial o total del contenido sin derechos de autor.
  #3  
Antiguo 01-jul-2011, 21:38
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 Re: [Aporte][C++] Obtener memoria RAM disponible y total

Cita:
Empezado por betokscr Ver Mensaje
PD: A que te refieres con esto:
No quiero que se use este código en otras páginas web sin permiso, ya que gente que no sabe programar solo roba código y lo postea en otras webs.
  #4  
Antiguo 02-jul-2011, 02:27
Avatar de X GEu2 X
Ace Member
 
Fecha de Ingreso: marzo-2008
Ubicación: Mexico
Mensajes: 2,308
X GEu2 X se está dando a conocer
Predeterminado Re: [Aporte][C++] Obtener memoria RAM disponible y total

Cita:
Empezado por Kazuma. Ver Mensaje
No quiero que se use este código en otras páginas web sin permiso, ya que gente que no sabe programar solo roba código y lo postea en otras webs.
cierto xD

Última edición por X GEu2 X fecha: 08-jul-2011 a las 07:07.
 



Temas Similares para: [Aporte][C++] Obtener memoria RAM disponible y total
Tema Autor Foro Respuestas Último mensaje
aporte total de creaciones de chars ~Mr:Charlot♥~ MUGEN 1 23-sep-2010 20:43
[Aporte] Para los que ya andamos cortos de memoria RAM RaulUchiha Informática 4 09-nov-2008 16:08
[Aporte] Liberar Memoria Sonic The Hedhehog Informática 3 31-dic-2007 18:48


La franja horaria es GMT +1. La hora actual es: 13:50.


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