gpt4 book ai didi

c++ - 以编程方式从 Mac OS X 获取处理器详细信息

转载 作者:可可西里 更新时间:2023-11-01 17:09:54 24 4
gpt4 key购买 nike

我的应用程序在 Mac OS X 上运行,需要检索其运行机器的详细信息以报告系统信息。我需要的项目之一是有关计算机中安装的处理器的详细信息。

我的代码目前可以运行,但远非理想的解决方案,事实上我认为这是一个糟糕的解决方案,但我没有找到更好的解决方案。

我当前报告的信息以及经过一些格式化后的信息如下:

Processor: Intel Core 2 Duo 2.1 GHz, Family 6 Model 23 Stepping 6

我获得的所有信息都是通过从 popen() 调用的命令行实用程序获得的。处理器描述的可读部分取自“system_profiler”命令输出,系列、型号和步进值取自“sysctl”命令。

这些命令行实用程序必须从某处获取信息。 我想知道是否有可用于获取相同信息的编程接口(interface)?


相关:

最佳答案

使用 sysctlbyname 而不是 sysctl,例如

#include <stdio.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/sysctl.h>

uint64_t get_cpu_freq(void)
{
uint64_t freq = 0;
size_t size = sizeof(freq);

if (sysctlbyname("hw.cpufrequency", &freq, &size, NULL, 0) < 0)
{
perror("sysctl");
}
return freq;
}

通过从命令行查看 sysctl -a 的输出,您可以获得可以传递给 sysctlbyname 的名称列表。

关于c++ - 以编程方式从 Mac OS X 获取处理器详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com