Joh*_*ate 5 macos kernel objective-c
我知道我可以使用终端和system-profiler命令来确定内核的当前位数,但我试图确定是否有办法在objective-c中以编程方式获取相同的信息.
我查看了Carbon的格式塔,但没有看到任何可以告诉我内核的位数的东西.
有没有人对我如何做到这一点有任何建议?我需要此信息用于调试报告,该报告在报告时提供系统的快照.
谢谢!
更新:我尝试过的一件事是我从Windows世界中学到的一个技巧是检查int的大小,如:
sizeof(int*); //(4 = x86 8 = x64)
Run Code Online (Sandbox Code Playgroud)
但我不认为这是一个解决方案,因为我认为这只会让我了解实际程序本身运行的是什么,而不是实际的操作系统内核.我的理解是,即使操作系统内核以32位运行,您的程序仍然可以在64位运行.
我遇到了与此类似的其他论坛帖子,但似乎没有人在使用system_profiler之后得到答案.
请参阅man 3 uname:它填充一个utsname包含成员的结构machine,该成员是Intel 平台上"x86_64"的 或:"i386"
struct utsname un;
int res = uname(&un);
if (res >= 0) {
NSLog(@"%s", un.machine);
}
Run Code Online (Sandbox Code Playgroud)