|
|
1
4
指定这在您的架构上应该如何表现的文档是 here, in the i386 System V psABI (当前版本) here x86 标记wiki)。在这本书中,我们可以看到double的所需对齐是4。但它有一个有趣的注释:
GCC不希望违反结构的ABI(其中对齐非常相关),因此它正确地将4对齐用于结构内部的双精度对齐。
C11没有指定
C标准的措辞对于ABIs中应该发生的事情不是很具体,其中结构内部的类型的对齐度低于结构外部的类型。
After careful reading of the standard's wording
和一些争论,gcc开发人员决定
This mailing list post
GNU C的
叮当作响,
on the Godbolt compiler explorer
使用gcc7.2和clang4.0。卸下
gcc's
确保生成的结构确实具有同样大的对齐需求(
|
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
MysteryMoose · GCC下故意忽略初始化器警告中的过量元素 1 年前 |
|
|
Ken P · 如何利用[*]printf格式类型规范警告? 1 年前 |
|
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 1 年前 |
|
|
adversarr · 全局变量何时导出到可执行文件? 1 年前 |