我有两个结构。
t_struct_inner {
int a;
... // a lot more members
}
t_struct_outer {
t_struct_inner[1000] inners;
t_struct_outer* next;
}
t_struct_outer
我在我的代码中malloc 。我想t_struct_inner
缓存对齐。我的解决方案是使用
__attribute__((aligned(
((sizeof(t_struct_inner)/CACHE_LINE_SIZE)+1) * CACHE_LINE_SIZE
)))
但显然我不能这样做,因为我不能sizeof
在这里使用。我不想硬编码aligned
. 有什么想法可以实现上述目标吗?