>>还有一个原因,就是这种策略,也是满足“程序在不同架构之间的‘可移植性’的要求”(某些硬件设施只能在存储器的特定位置处access特定类型的数据或结构)的必要条件之一。
内存对齐我认为也不是为了所谓的“可移植性”要求,内存对齐就是它的体系要求的,而这个体系直观而简单的例子就是x86代表的CISC和mips代表的RISC。这个在每个处理器的ABI手册上可以查,这一层都不会考虑其它体系的东西,当然专门为了其它体系而做的兼容又当另讲。ABI层没有任何不同体系间的可移植性,所谓的可移植性是上层软件赋予的比如C编译器或者Java平台。如果体系设计的时候可以稍微考虑下移植其它体系的话,那么big 和 little ending早就该消失一种了。所以个人认为这个说法也有点牵强。