为什么我编译的(小)Objective-C文件的一半是一大块零?

sta*_*zel 3 file-format objective-c

我在文本编辑器中打开了我编译的Hello World Obj-C应用程序,令我惊讶的是,我发现了大约8千字节的00 00 00 00 00 00 00 00 ....

这些为什么?有没有办法清除这些零(我怀疑也是如此)的功能)?

显然它在这个文件中并不那么重要,因为它开始只有16kB,但无论如何我还是想知道.

Nil*_*nck 7

它很可能是代码,数据,重定位或您使用的可执行格式的其他部分之间的填充.

连接器喜欢在4k或8k边界上填充这些部分.这样可以节省一些内存浪费的加载时间.

对于一个简单的hello世界来说它很重要,但是对于大型应用程序,用于填充的额外内存是可以忽略的.