gpt4 book ai didi

c - Malloc 和未对齐的内存

转载 作者:太空狗 更新时间:2023-10-29 15:15:01 27 4
gpt4 key购买 nike

malloc() 文档说返回的指针适合任何类型的变量对齐。在我的系统上,long double 的大小为 12,但是 malloc() 返回的一些指针在 8 字节边界而不是 12 上对齐。(ptr % 12 给出 4)。谁能指出我在这里错过了什么?提前致谢。

最佳答案

显然,long double 不需要对齐到 12 字节。在像您这样的系统上,对于 double,原始 C 类型的最大对齐是 8 个字节。不要混淆对齐和大小——虽然许多较小的(尤其是原始的)类型必须自然对齐——也就是说,对齐到它们自己的大小——这对于较大的数据类型来说是禁止的(想想碎片化)并且不会让任何事情变得更容易硬件。

关于c - Malloc 和未对齐的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17380686/

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