Wenn Sie 64-Bit einstellen, ist die resultierende Binärdatei eine "Fat" -Binärdatei, die alle drei Mach-O-Bilder enthält, die mit einem dünnen Fat-Header gebündelt sind. Sie können dies mit otool oder jtool sehen. Sie können einige fette Binärdateien überprüfen, die im iOS 7.0 SDK enthalten sind, z. B. das AVFoundation Framework:
% cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.0\ \(11A465\)/Symbols/System/Library/Frameworks/AVFoundation.framework/
%otool -V -f AVFoundation 9:36
Fat headers
fat_magic FAT_MAGIC
nfat_arch 3
architecture arm64 # The 64-bit version (A7)
cputype CPU_TYPE_ARM64
cpusubtype CPU_SUBTYPE_ARM64_ALL
capabilities 0x0
offset 16384
size 2329888
align 2^14 (16384)
architecture armv7 # A5X - packaged after the arm64version
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7
capabilities 0x0
offset 2359296
size 2046336
align 2^14 (16384)
architecture armv7s # A6 - packaged after the armv7 version
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7S
capabilities 0x0
offset 4407296
size 2046176
align 2^14 (16384)
Die Binärdatei selbst verwendet den ARM64-Bit-Befehlssatz, der (meistens kompatibel mit 32-Bit, aber) ein völlig anderer Befehlssatz ist. Dies ist besonders wichtig für Grafikprogramme (unter Verwendung von NEON-Anweisungen und -Registern). Ebenso verfügt die CPU über mehr Register, was sich erheblich auf die Programmgeschwindigkeit auswirkt. Unter http://blogs.barrons.com/techtraderdaily/2013/09/19/apple-the-64-bit-question/?mod=yahoobarrons gibt es eine interessante Diskussion darüber, ob dies einen Unterschied macht oder nicht. Benchmarking-Tests haben bisher eindeutig gezeigt, dass dies der Fall ist.
Wenn Sie otool -tV verwenden, wird die Assembly ausgegeben (wenn Sie XCode 5 und höher haben), und dann können Sie die Unterschiede im Befehlssatz selbst sehen. Die meisten (aber nicht alle) Entwickler bleiben gegenüber den Änderungen agnostisch, da sie Obj-C zum größten Teil nicht direkt beeinflussen (trotz CG * -APIs) und mehr mit der Zeigerbehandlung auf niedriger Ebene zu tun haben. Der Compiler wird seine Magie und Optimierungen arbeiten.