C __ Attribute__对齐含义

C++ __attribute__ aligned meaning

本文关键字:Attribute 对齐      更新时间:2023-10-16

可能的重复:
gcc __attribute __(((对齐(x))说明
在第一行中," _attribute _((对齐(4)))的含义是什么?

这两个代码是什么意思?特别是__attribute__ ((aligned(..)))零件。

struct my_struct {
  int64_t a;
  int64_t b;
} __attribute__ ((aligned(16)));

struct my_struct2 { double arr[4] __attribute__((aligned(64))); };

cpu寄存器通常指向内存。

当您增加寄存器时,它将在64位机器上进一步指向64位。但是,如果您想进入该部分的字节,则编译器必须做更多的工作。

如果您 ALIGN 内存的"边缘"内存,则寄存器可以更快地访问它们。这也意味着结构成员被填充,因此浪费了一些空间。如果您进行结构的内存转储,您可能会对填充感到惊讶。