这个问题已经在这里有了答案:
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/