“最小对齐”和“首选对齐”之间有什么区别?

问题描述 投票:0回答:1

最近我在Clang 9.0上观察到alignof__ alignof返回的unsigned long long值不同,并且在https://reviews.llvm.org/D54814讨论了相同的值。我知道类型对齐方式,但从未遇到过“最小对齐方式”和“首选对齐方式”。

有人可以帮助我了解这些确切含义是什么吗?谢谢。

c++ clang memory-alignment
1个回答
0
投票

最小对齐方式是(在给定平台上)不会崩溃的对齐方式。在x86-64上,它是一个字节。在PowerPC或Sparc上,它可能是4或8个字节。

[首选对齐方式是通常的对齐方式,例如由于处理器总线或CPU缓存。在unsigned long long的x86-64上,它可能是8个字节。对齐方式较差的访问都会降低性能。

© www.soinside.com 2019 - 2024. All rights reserved.