gpt4 book ai didi

c - 结构填充

转载 作者:行者123 更新时间:2023-12-02 07:07:59 25 4
gpt4 key购买 nike

我试图理解为什么结构填充是 memcmp 无法比较结构的原因。关于结构填充我不明白的一件小事是......为什么“short 是 2 字节对齐的”“long 是 4 字节对齐的”。我知道这是与它们的大小有关,但为什么它们不能出现在任何字节边界?

或者换句话说 “为什么 0x10004566 不是 long 变量的有效位置而 0x10004568 是?”

最佳答案

因为某些平台(即 CPU)在物理上不支持“未对齐”的内存访问。其他平台支持它们,但速度要慢得多。

您在结构中获得的填充取决于您的编译器所做的选择,但它会做出这些选择以满足代码所针对的 CPU 的特定要求。

关于c - 结构填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8903351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com