【发布时间】:2012-08-21 14:16:38
【问题描述】:
我有一个结构,其中成员有一定的对齐要求,而结构本身不存在这样的要求。
我正在使用 gcc,所以使用 __attribute__((aligned(n))) 可以解决问题,除非(据我所知)结构的实例是在堆上分配的。
如何保持堆分配实例的对齐? posix_memalign(3) 将对齐结构本身,而不是结构成员,所以我看不出如何使它与该函数一起工作。
来源在这里:https://github.com/colding/disruptorC/blob/master/src/disruptor.h#L92
【问题讨论】:
-
如果结构正确对齐,成员也会对齐。
-
如果将结构对齐到成员对齐的最大值,应该没问题,不是吗?