如何理解 'mach-o/fat.h' 中关于 fat_arch_64 的评论

How to understand the comments about fat_arch_64 in 'mach-o/fat.h'

最近在学习Mach-O相关的资料,看到评论

当切片大于 4mb 或切片的偏移量大于 4mb 时,将使用 64 位 fat 文件格式。

'mach-o/fat.h' 关于 struct fat_acrh_64

我知道我们应该使用 fat_header.magic 的值来决定使用 fat_archfat_arch_64 来解析 fat 文件中的数据。

但是我对评论感到困惑,为什么限制条件是4 Mb,评论中的slice/offset是什么意思?

这是头文件的截图:

评论有误,大家可以在野外找反例
这是来自 M1 Mac:

% otool -f /usr/sbin/php-fpm
Fat headers
fat_magic 0xcafebabe
nfat_arch 2
architecture 0
    cputype 16777223
    cpusubtype 3
    capabilities 0x0
    offset 16384
    size 14061120
    align 2^14 (16384)
architecture 1
    cputype 16777228
    cpusubtype 2
    capabilities 0x80
    offset 14090240
    size 14110192
    align 2^15 (32768)

如您所见,大小和偏移量都超过了 14MB。

一个合理的猜测是它们意味着 4GB,这是 uint32 可以表示的极限。