Arm32与Arm64数据类型内存表示大小备忘

To summarize the changes:

  • The size of pointers increased from 4 bytes to 8 bytes.

  • The size of long integers increased from 4 bytes to 8 bytes. The size_tCFIndex, and NSInteger types also increased from 4 bytes to 8 bytes.

  • The alignment of long long integers and the data types based on it (fpos_toff_t) has increased from 4 bytes to 8 bytes. All other types use the natural alignment, meaning that data elements within a structure are aligned at intervals corresponding to the width of the underlying data type.

Table 1-2 shows the floating-point types commonly used in iOS and OS X. Although the built-in data types do not change in size, in the 64-bit runtime the CGFloat type changes from a float to a double, providing a larger range and accuracy for these values in Quartz and in other frameworks that use the Core Graphics types. (Floating-point types always use natural alignment.)

The 64-bit ARM environment uses a little-endian environment; this matches the 32-bit iOS runtime used by devices with ARM processors that support the ARMv7 architecture.

猜你喜欢

转载自www.cnblogs.com/ciml/p/8998156.html