字节与奇数地址对齐。它是否违反了访问边界理论?

时间:2011-04-05 06:54:45

标签: byte alignment

struct X {
char a;
char b;
int c;
};

在上面的结构中,成员b存储在奇数地址中。我在linux / x86环境中检查了这个

许多网页都谈到处理器无法访问奇数地址。如果确实如此,那么成员ab之间应该填充1个字节,这样b就会存储在偶数地址中。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

在奇数地址处获取字符总是可以的。但是,奇数地址处的int可能会导致问题。但是,如果需要,编译器将自动在struct字段之间添加填充。我假设C / C ++是你的语言。