检查iOS 32位或64位的代码?

什么代码是用来检查应用程序(或设备)是否在32位或64位环境中工作?

编译时检查将涉及#ifdef __LP64__ ,这是ARM的数据types大小标准。 运行时解决scheme将涉及检查指针的大小,如下所示:

 if (sizeof(void*) == 4) { // Executing in a 32-bit environment } else if (sizeof(void*) == 8) { // Executing in a 64-bit environment } 

值得庆幸的是,指针大小是编译64位代码的不同标准似乎是一致的。

 #ifdef __LP64__ NSLog(@"64-bit\t"); #else NSLog(@"32-bit\t"); #endif 

你可以检查一个指针的大小。 我认为在32位是4字节,在64位应该是8。

 if( sizeof(void*) == 4 ) then 32bit else 64bit