在嵌入式Linux中使用C++读取 /proc/meminfo 文件来获取系统内存大小
在嵌入式Linux中,可以使用C++编程语言通过读取 /proc/meminfo
文件来获取系统内存大小。以下是一个示例代码片段:
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
int main()
{
std::ifstream meminfo("/proc/meminfo");
std::string line;
std::string memTotalStr = "MemTotal:";
std::string memSize;
if (meminfo.is_open())
{
while (std::getline(meminfo, line))
{
if (line.compare(0, memTotalStr.size(), memTotalStr) == 0)
{
memSize = line.substr(memTotalStr.size());
break;
}
}
meminfo.close();
}
if (!memSize.empty())
{
// 去除空格和单位(KB)
memSize.erase(std::remove_if(memSize.begin(), memSize.end(), [](char c)
{ return !std::isdigit(c); }),
memSize.end());
unsigned long long totalMemory = std::stoull(memSize);
totalMemory = (totalMemory * 1024) / 1000 / 1000;
std::cout << "Total Memory: " << totalMemory << " MB" << std::endl;
}
else
{
std::cerr << "Failed to read memory size." << std::endl;
return 1;
}
return 0;
}
上述代码打开 /proc/meminfo
文件并逐行读取其中的内容。当找到以 "MemTotal:" 开头的行时,提取出内存大小信息并去除空格和单位(KB),然后将其转换为无符号长整型数值。最后,输出总内存大小。文章来源:https://www.toymoban.com/news/detail-682570.html
请注意,这只是一个简单的示例代码,可能需要根据实际情况进行适当的错误处理和异常处理。此外,/proc/meminfo
文件中还包含其他有关内存的信息,你可以根据需求进一步解析该文件以获取更多详细信息。文章来源地址https://www.toymoban.com/news/detail-682570.html
到了这里,关于在嵌入式Linux中使用C++读取 /proc/meminfo 文件来获取系统内存大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!