这个问题已经在这里有了答案:




9年前关闭。






什么时候只需要一个简单的size就需要“alignment字节的内存,以便分配的基址是malloc()的精确倍数”?

我相信它是Linux下的memalign()和Mac OS X / BSD下的posix_memalign()

最佳答案

最常见的用例之一是使用SIMD代码(SSE,AltiVec,AVX,Neon等)时,通常需要将所有缓冲区在SIMD vector 边界上对齐(16字节或32字节对齐)。

另一个常见的对齐要求是虚拟内存页面对齐(通常为4 kB)。

关于c++ - 什么时候使用posix_memalign/memalign? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6415396/

10-09 10:19