如何检查我的应用程序是以32位还是64位编译?
这有助于调试低级代码(例如使用缓冲区)。
答案 0 :(得分:19)
编译时检查将涉及#ifdef
__LP64__
,这是ARM的数据类型大小标准。运行时解决方案将涉及检查指针的大小,如下所示:
if (sizeof(void*) == 4) {
// Executing in a 32-bit environment
} else if (sizeof(void*) == 8) {
// Executing in a 64-bit environment
}
值得庆幸的是,指针大小是编译64位代码的不同标准似乎同意的一件事。
答案 1 :(得分:16)
#ifdef __LP64__
NSLog(@"64-bit\t");
#else
NSLog(@"32-bit\t");
#endif
答案 2 :(得分:2)
您可以检查指针的大小。我认为32位是4字节,64位应该是8位。
if( sizeof(void*) == 4 ) then 32bit else 64bit