zoukankan      html  css  js  c++  java
  • 017 系统内存信息 内存大小 空闲内存 5

    # 017 系统内存信息 内存大小 空闲内存 5

      GetSystemInfo 函数
        函数原型:

    1 void WINAPI GetSystemInfo( _Out_ LPSYSTEM_INFO lpSystemInfo);

          参数1:lpSystemInfo [out]
          返回一个 SYSTEM_INFO 结构体指针信息

      结构体原型:

     1 typedef struct _SYSTEM_INFO {
     2     union {
     3         DWORD  dwOemId;
     4         struct {
     5                 WORD wProcessorArchitecture;
     6                   WORD wReserved;
     7         };
     8   };
     9     DWORD     dwPageSize;
    10     LPVOID    lpMinimumApplicationAddress;
    11     LPVOID    lpMaximumApplicationAddress;
    12     DWORD_PTR dwActiveProcessorMask;
    13     DWORD     dwNumberOfProcessors;
    14     DWORD     dwProcessorType;
    15     DWORD     dwAllocationGranularity;
    16     WORD      wProcessorLevel;
    17     WORD      wProcessorRevision;
    18 } SYSTEM_INFO;

      SYSTEM_INFO结构体参数说明:
        wProcessorArchitecture: Word; {处理器的体系结构}
        wReserved: Word;  {保留}
        dwPageSize: DWORD;  {分页大小}
        lpMinimumApplicationAddress: Pointer;{最小寻址空间}
        lpMaximumApplicationAddress: Pointer;{最大寻址空间}
        dwActiveProcessorMask: DWORD; {处理器掩码; 0..31 表示不同的处理器}
        dwNumberOfProcessors: DWORD;  {处理器数目}
        dwProcessorType: DWORD; {处理器类型}
        dwAllocationGranularity: DWORD; {虚拟内存空间的粒度}
        wProcessorLevel: Word;  {处理器等级}
        wProcessorRevision: Word);  {处理器版本}

      GlobalMemoryStatus 函数
        Win32 API函数。 此函数用来获得当前可用的物理和虚拟内存信息

        函数原型:

    1 void WINAPI GlobalMemoryStatus(_Out_ LPMEMORYSTATUS lpBuffer);


      参数1:lpBuffer [out]
        返回一个 lpBuffer MEMORYSTATUS 结构体

     1 typedef struct _MEMORYSTATUS { 
     2     DWORD dwLength;                         // MEMORYSTATUS结构的大小
     3     DWORD dwMemoryLoad;                 // 返回一个介于0~100之间的值,用来指示当前系统内存的使用率
     4     DWORD dwTotalPhys;                     // 返回总的物理内存大小,以字节(byte)为单位。
     5     DWORD dwAvailPhys;                     // 返回可用的物理内存大小,以字节(byte)为单位。
     6     DWORD dwTotalPageFile;                 // 显示可以存在页面文件中的字节数。注意这个数值并不表示在页面文件在磁盘上的真实物理大小。
     7     DWORD dwAvailPageFile;                 // 返回可用的页面文件大小,以字节(byte)为单位。
     8     DWORD dwTotalVirtual;                     // 返回调用进程的用户模式部分的全部可用虚拟地址空间,以字节(byte)为单位。
     9     DWORD dwAvailVirtual;                     // 返回调用进程的用户模式部分的实际自由可用的虚拟地址空间,以字节(byte)为单位。
    10 } MEMORYSTATUS, *LPMEMORYSTATUS;
     1 #define UNICODE
     2 #include <windows.h>
     3 #include <stdio.h>
     4 
     5 int main()
     6 {
     7     SYSTEM_INFO sysInfo;
     8     GetSystemInfo(&sysInfo);
     9     printf("页面大小:%d
    ",sysInfo.dwPageSize);
    10     printf("分配颗粒:%d
    ",sysInfo.dwAllocationGranularity);
    11     printf("用户区开始地址:0x%d
    ",sysInfo.lpMinimumApplicationAddress);
    12     printf("用户最大地址:0x%d
    ",sysInfo.lpMaximumApplicationAddress);
    13     
    14     MEMORYSTATUS memStatus;
    15     GlobalMemoryStatus(&memStatus);
    16     
    17     printf("使用比:%d%%
    ", memStatus.dwMemoryLoad);
    18     printf("总内存大小:%x%%
    ", memStatus.dwTotalPhys);
    19     printf("可内存大小:%x%%
    ", memStatus.dwAvailPhys);
    20     return 0;
    21 }

  • 相关阅读:
    HTML5 表单新增属性
    js中获取css属性
    Java 枚举(enum)【感觉不是很常用】
    Java数组
    Java的反射机制
    IO,NIO【重点掌握】,Socket,Channel等的网络编程
    多线程
    注解
    动态代理
    动态编译
  • 原文地址:https://www.cnblogs.com/sdk123/p/7269164.html
Copyright © 2011-2022 走看看