【发布时间】:2011-03-02 19:02:25
【问题描述】:
如果您觉得这个问题已被多次回答,请原谅我,但我需要以下问题的答案!
为什么必须对齐数据(在 2 字节/4 字节/8 字节边界上)?我的疑问是,当 CPU 有地址线 Ax Ax-1 Ax-2 ... A2 A1 A0 时,很有可能按顺序寻址内存位置。那么为什么需要在特定边界对齐数据呢?
在编译代码和生成可执行文件时如何找到对齐要求?
如果例如数据对齐是 4 字节边界,这是否意味着每个连续字节都位于模 4 偏移处?我的疑问是,如果数据是 4 字节对齐的,这是否意味着如果一个字节位于 1004,那么下一个字节位于 1008(或 1005)?
【问题讨论】:
标签: c alignment cpu-architecture processor