C++ 获取当前内存
时间: 2023-12-03 12:47:37 浏览: 33
你可以使用操作系统提供的API来获取当前内存使用情况。以下是在Windows操作系统下获取当前内存使用情况的示例代码:
```c++
#include <windows.h>
#include <iostream>
int main()
{
MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
std::cout << "Total memory: " << memInfo.ullTotalPhys / (1024 * 1024) << " MB" << std::endl;
std::cout << "Available memory: " << memInfo.ullAvailPhys / (1024 * 1024) << " MB" << std::endl;
std::cout << "Memory load: " << memInfo.dwMemoryLoad << "%" << std::endl;
return 0;
}
```
在Linux操作系统下,你可以使用`/proc/meminfo`文件来获取当前内存使用情况。以下是在Linux操作系统下获取当前内存使用情况的示例代码:
```c++
#include <fstream>
#include <iostream>
int main()
{
std::ifstream meminfo("/proc/meminfo");
unsigned long long total_mem, free_mem, available_mem;
std::string line;
while (meminfo >> line)
{
if (line == "MemTotal:")
{
meminfo >> total_mem;
}
else if (line == "MemFree:")
{
meminfo >> free_mem;
}
else if (line == "MemAvailable:")
{
meminfo >> available_mem;
}
}
std::cout << "Total memory: " << total_mem / 1024 << " MB" << std::endl;
std::cout << "Free memory: " << free_mem / 1024 << " MB" << std::endl;
std::cout << "Available memory: " << available_mem / 1024 << " MB" << std::endl;
return 0;
}
```