填充有什么意义?

ktm*_*124 0 binary mach-o machine-code universal

特别是,我正在OS X上读取Intel 32的Mach-O二进制文件格式.在FAT头之后,在第一个存档的偏移之前有一大堆填充.所有这些填充的重点是什么?

更具体地说,FAT标头和第一个存档(特别是mach_header)之间有超过4000字节的填充.为什么包括所有这些额外的字节?!OS X是否喜欢为所有通用二进制文件添加4 KB?

GT.*_*GT. 6

我的猜测是添加它以确保下一个段以4096字节边界开始,即x86上虚拟内存页面的大小.x86(和PCC)上的虚拟内存以块大小分配,块大小为4kB.保持光盘格式与内存页面大小兼容使得需求加载更容易实现.