C 怎么监控程序运行内存不足

 时间:2026-02-12 17:59:45

1、首先使用vs2013创建一个示例C工程,如下图所示,这里以windows为例子简单介绍获取空闲内存的方式来实现

C 怎么监控程序运行内存不足

C 怎么监控程序运行内存不足

2、如下图所示,这是一个新建的空白工程,没有任何示例代码,但是它是一个完整的工程,是可以正常编译通过的

C 怎么监控程序运行内存不足

3、接下来,我们来介绍一个可以实现获取内存信息的函数,这个函数叫作

GlobalMemoryStatusEx

它是一个windows的系统函数,用来获取系统的物理内存和虚拟内存的接口

C 怎么监控程序运行内存不足

4、然后,我们可以从msdn上可以看到,这个函数使用的时候需要注意些什么,系统要满足那些条件等

C 怎么监控程序运行内存不足

5、然后我们来检查,这个系统接口会返回给我们的是什么样的数据,我们继续查看这个结构体的变量代表什么意思,如下图所示,我们可以看到总内存和空闲内存两个参数,这正是我们想要的

C 怎么监控程序运行内存不足

6、然后,我们写上实现的代码,来获取系统内存的当前信息,如下图所示,我们对比任务管理器的可用内存,发现程序获取的值是一样的,所以通过这种方式可以检测程序内存不足的功能

参考代码如下:

MEMORYSTATUSEX        Meminfo;

double                dSize;

memset(&Meminfo, 0, sizeof(Meminfo));

Meminfo.dwLength = sizeof(Meminfo);

GlobalMemoryStatusEx(&Meminfo);

dSize = (double)Meminfo.ullTotalPhys - Meminfo.ullAvailPhys;

dSize /= 1024.0;

dSize /= 1024.0;

dSize += 0.5;

C 怎么监控程序运行内存不足

C 怎么监控程序运行内存不足

  • 多网段局域网监控方法 局域网上网行为管理
  • SecureCRT 设置说明
  • CTI电话系统:[11]中继设置
  • 安装光模块之后光口灯不亮问题和解决方案
  • 怎么实现双ip,同时配置两个IP地址
  • 热门搜索
    次世代是什么意思 什么水果含维生素c 校运动会作文 胆战心惊是什么意思 什么是罗生门 头发掉是什么病 土狗养殖 蜂疗能治什么病 孕妇可以用什么护肤品 平面设计用什么软件