gpt4 book ai didi

c++ - 在 64 位平台上分配的内存块的字节对齐方式是什么?

转载 作者:行者123 更新时间:2023-11-30 19:09:59 28 4
gpt4 key购买 nike

我一直假设 malloc 返回一个分配的内存块,其地址对于同时使用 Visual Studio 和 gcc 的 64 位系统来说是 16 字节对齐的。然而,我一直在阅读一些关于这个问题的相互矛盾的文章。 MSDN 网站对此非常清楚,但 GNU 文档则更加“细致入微”。

任何澄清都会非常有帮助。

这里有很好的答案:

Aligned memory management?

最佳答案

malloc 返回一个具有基本对齐方式的指针 (C11 §7.22.3),它是 max_align_t (C11 6.2.8) 的对齐方式。这因操作系统而异,在 Windows 上这对于 SSE 来说还不够好。

various options ,但如果是针对 SSE,在我看来,调用 _mm_malloc_mm_free 是一个不错的方法。如果需要,可以使用宏将这些名称映射到适当的特定于平台的设施,例如 _aligned_malloc

关于c++ - 在 64 位平台上分配的内存块的字节对齐方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42158071/

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