在OSX上使用sysctl()获取CPU信息

3

我正在使用OS X,并且想要获取一些关于我的CPU的信息。为了做到这一点,我找到了终端命令sysctl -a,但是我需要在程序中获取这些信息,所以我需要使用函数systcl();

我尝试阅读了手册,但我仍然不知道如何获取一个字符串,例如我的CPU名称(比如终端命令sysctl machdep.cpu.brand_string)。

希望能得到任何提示、帮助或示例 :D


在这里查看Alex的代码...https://dev59.com/X4Hba4cB1Zd3GeqPV879#24918507 - Mark Setchell
1个回答

9

我可以在我的iMac上完成这个任务。

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

#define BUFFERLEN 128

int main(){
    char buffer[BUFFERLEN];
    size_t bufferlen = BUFFERLEN;
    sysctlbyname("machdep.cpu.brand_string",&buffer,&bufferlen,NULL,0);
    printf("%s\n", buffer);
}

然后我得到了这个

Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

非常感谢您的回答! - decarte

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接