这意味着,内存起始位置的地址是8的倍数。 为什么你会关心这个问题呢?因为对于未对齐的内存,CPU有时需要两次访问才能全部读取。在某些情况下,它甚至不会尝试,直接报错。提到“对齐到8个字节”是为了让调用程序知道它是否需要对指针进行任何调整。 通常情况下,你不需要关心这个问题,编译器会自动处理大部分对齐问题。但是如果出现某些特殊情况,这些信息仍然很有用。
内存对齐描述地址的模数。因此,8字节对齐意味着地址是8的倍数。在许多旧系统上,这很关键,其中地址需要对齐到“字”边界,通常是四个字节或两个字节的倍数。如果没有正确对齐,程序会崩溃并出现“对齐错误”。更近期的机器通过从任何地址加载来解决这个问题,但通常这意味着需要更多的周期来加载数据。