【发布时间】:2010-12-27 12:17:21
【问题描述】:
如何分配与 C 中特定边界对齐的内存(例如,缓存行边界)?我正在寻找类似 malloc/free 的实现,它在理想情况下应尽可能便携——至少在 32 位和 64 位架构之间。
编辑添加:换句话说,我正在寻找类似于(现在已过时?)memalign 函数的东西,可以使用 free 释放。
【问题讨论】:
-
不是我想要的。我想要功能更像 malloc 的东西,返回一个值,即对齐的指针,然后有另一个类似于 free 的函数,在该指针上调用。应用您指出的解决方案需要传递两个值,或者在需要时重新计算对齐方式。我正在寻找类似于 memalign 的东西。感谢您指出这些答案。
-
在合适的机器上有
posix_memalign()- 与memalign()有不同的界面。
标签: c alignment memory-mapped-files memory-alignment