大佬教程收集整理的这篇文章主要介绍了objective-c – 检测Objective C(Mac OS X)中的CPU架构(32位/ 64位)运行时,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
简而言之:如何检测应用程序是否在64位操作系统上运行?
编辑:我知道Mach-O胖二进制文件,这不是我的问题.我需要知道这一点,@R_758_9447@启动另一个非捆绑(控制台)应用程序.一个针对x86进行了优化,一个针对x64进行了优化.
gcc -lobjc somefile.m -o somefile -m32 -march=i686 gcc -lobjc somefile.m -o somefile2 -m64 -march=x86_64 lipo -create -arch i686 somefile -arch x86_64 somefile2 -output somefileUniversal@H_197_17@编辑:或者首先使用gcc -arch i686 -arch x86_64编译通用二进制文件
回应OP的评论:
if(sizeof(int*) == 4) //system is 32-bit else if(sizeof(int*) == 8) //system is 64-bit@H_197_17@编辑:D’哦!我没有意识到你需要运行时检查…通过sysctl -A的输出,两个变量看起来可能有用.尝试解析sysctl hw.optional.x86_64和sysctl hw.cpu64bit_capable的输出.我没有32位Mac来测试这个,但是在Core2Duo Mac上的SNow Leopard中这两个都设置为1.
以上是大佬教程为你收集整理的objective-c – 检测Objective C(Mac OS X)中的CPU架构(32位/ 64位)运行时全部内容,希望文章能够帮你解决objective-c – 检测Objective C(Mac OS X)中的CPU架构(32位/ 64位)运行时所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。