在Mac OS X上获取CPU描述

mar*_*hep 3 macos

我想以编程方式获取Mac OS X上的CPU描述,如下所示:

Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz
Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
Run Code Online (Sandbox Code Playgroud)

在Linux上,您可以grep "^model name" /proc/cpuinfo在Windows上查看注册表中的ProcessorNameStringHKLM\Hardware\Description\System\CentralProcessor\0,但是如何在OS X上获取该信息?

Ben*_*Ben 13

您可以传递machdep.cpu.brand_string给sysctl以检索您正在查找的字符串.

[ben@imac ~]$ sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
Run Code Online (Sandbox Code Playgroud)

通过这些sysctl(3)功能公开了相同的信息.

[ben@imac ~]$ cat sys.c
#include <sys/types.h>
#include <sys/sysctl.h>
#include <stdio.h>

int main(int argc, char *argv[]) {
    char buf[100];
    size_t buflen = 100;
    sysctlbyname("machdep.cpu.brand_string", &buf, &buflen, NULL, 0);

    printf("%s\n", buf);
}

[ben@imac ~]$ ./sys
Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
Run Code Online (Sandbox Code Playgroud)