【问题标题】:What's the purpose of memory alignment and why I do need it? [duplicate]内存对齐的目的是什么,为什么我需要它? [复制]
【发布时间】:2020-12-08 11:56:25
【问题描述】:

我已经阅读了很多关于内存对齐的内容,但我没有明白,我知道这是编写高效代码时必须牢记的重要方法。但是我很困惑。

【问题讨论】:

标签: c memory-management memory-alignment low-level


【解决方案1】:

基本上,CPU 一次从内存中读取一个“字”,字是 CPU 的自然位数。如果多字节值未在字边界上对齐,则 CPU 必须发出两次(或更多)读取来获取该值,这样效率会降低。写作也是如此。

【讨论】:

  • 这过于简单化了。一些处理器要求更大的数据类型比字边界更严格地对齐。 doubleint 更严格地对齐并不少见,int 被视为“字长”。
  • @TomKarzes:是的,这绝对是过于简单化了。
猜你喜欢
  • 2012-10-04
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 2018-02-03
  • 1970-01-01
相关资源
最近更新 更多