作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近一直在使用 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/
我最近一直在使用 sysctl 来做很多事情,现在我使用 HW_MACHINE_ARCH 变量。我正在使用以下代码。请注意,当我尝试获取其他变量 HW_MACHINE 时,此代码可以完美运行。我还认为
我是一名优秀的程序员,十分优秀!