使用 sysctl() 在 osx 上获取信息 cpu

info cpu on osx with sysctl()

我正在 osx 工作,我想获得一些关于我的 cpu 的信息。为此,我找到了终端命令 sysctl -a,但我需要在程序中获取这些信息,因此我需要使用函数 systcl();

我试着读懂这个人,但我仍然不知道如何获得一个字符串,例如我的 cpu 的名字(比如终端命令 sysctl machdep.cpu.brand_string)

好吧,如果有任何提示、帮助或示例,我将非常高兴 :D

我可以在我的 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