【发布时间】:2010-09-12 04:42:35
【问题描述】:
系统要求某些原语与内存中的某些点对齐(整数到 4 的倍数的字节,短到 2 的倍数的字节等)。当然,这些可以优化为在填充中浪费最少的空间。
我的问题是为什么 GCC 不自动执行此操作?是否缺少更明显的启发式(从最大尺寸要求到最小尺寸的顺序变量)?某些代码是否依赖于其结构的物理顺序(这是个好主意)?
我之所以这么问,是因为 GCC 在很多方面都进行了超级优化,但在这一方面却没有,而且我认为一定有一些相对酷的解释(我没有注意到)。
【问题讨论】:
-
您可以尝试 struct-reorg-branch 中的
-fipa-struct-reorg选项。 Is there a GCC keyword to allow structure-reordering?
标签: c optimization gcc struct