gpt4 book ai didi

c - MacOS 使用 sysctl() 获取 HW_MACHINE_ARCH 获取 "no such file or directory"

转载 作者:行者123 更新时间:2023-11-30 16:44:11 30 4
gpt4 key购买 nike

我最近一直在使用 sysctl 来做很多事情,现在我使用 HW_MACHINE_ARCH 变量。我正在使用以下代码。请注意,当我尝试获取其他变量 HW_MACHINE 时,此代码可以完美运行。我还认为 HW_MACHINE_ARCH 可能更深,并将其作为第三个 mib 参数,但后来我收到错误“是一个目录”。关于为什么这不起作用的任何想法?

代码:

  #import<sys/sysctl.h>

char *OSArch = (char *)calloc(32, 1);
mib[0] = CTL_HW;
mib[1] = HW_MACHINE_ARCH;
if (sysctl(mib, 2, OSArch, &size_32, NULL, 0) == -1){
fprintf(stderr, "[!] OSArch failed. errno: [%d][%s]\n", errno,
strerror( errno));
} else {
fprintf(stdout, "OSArch: %s\n", OSArch);
//fprintf(tdout, "buffer int: %d\n", int_buffer);
}
free(OSArch);

最佳答案

这是因为您需要使用 HW_MACHINE 而不是 HW_MACHINE_ARCH

关于c - MacOS 使用 sysctl() 获取 HW_MACHINE_ARCH 获取 "no such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44663911/

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