相关疑难解决方法(0)

如何确定是否在Xcode中编译64位iOS

考虑以下功能

CGSize CGSizeIntegral(CGSize size)
{
    return CGSizeMake(ceilf(size.width), ceilf(size.height));
}
Run Code Online (Sandbox Code Playgroud)

CGSize实际上由两个CGFloats 组成,并CGFloat根据体系结构改变定义:

typedef float CGFloat;// 32-bit
typedef double CGFloat;// 64-bit
Run Code Online (Sandbox Code Playgroud)

因此,上面的代码在64位系统上是错误的,需要更新类似的东西

CGSize CGSizeIntegral(CGSize size)
{
#if 64_bit
    return CGSizeMake(ceil(size.width), ceil(size.height));
#else
    return CGSizeMake(ceilf(size.width), ceilf(size.height));
#endif
}
Run Code Online (Sandbox Code Playgroud)

肯定有一个编译器宏/常量(INTEL_X86例如我们可以使用Mac ),但我无法在64位转换指南中找到它.

如何确定正在构建的体系结构?

32bit-64bit ios ios7

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

32bit-64bit ×1

ios ×1

ios7 ×1