C++ 获取当前内存
时间: 2023-12-03 11:46:51 浏览: 36
你可以使用C++中的内存管理函数来获取当前内存使用情况。具体来说,你可以使用`<stdlib.h>`头文件中的`mallinfo()`函数来获取当前内存使用的详细信息。该函数返回一个`mallinfo`结构体,其中包含了当前内存使用的多个参数,例如`arena`(总内存区域大小)、`ordblks`(空闲内存块数量)、`uordblks`(已分配内存块大小)等等。
以下是一个简单的示例代码,演示如何使用`mallinfo()`函数获取当前内存使用情况:
```c++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
struct mallinfo mi = mallinfo();
cout << "Total arena size: " << mi.arena << endl;
cout << "Number of free blocks: " << mi.ordblks << endl;
cout << "Size of allocated blocks: " << mi.uordblks << endl;
return 0;
}
```
执行该程序后,你将会看到如下输出结果,其中`arena`表示总内存大小,`ordblks`表示空闲内存块数量,`uordblks`表示已分配内存块大小:
```
Total arena size: 4194304
Number of free blocks: 1
Size of allocated blocks: 56
```
请注意,`mallinfo()`函数的返回值是一个结构体,因此你需要定义一个`mallinfo`类型的变量来接收它的返回值。