是GCC的
union uint128_t {
uint64_t q[2];
uint64_t w[8];
char b[16];
} __attribute__((aligned (16)));
与(跨平台)相同:
union alignas(16) uint128_t {
uint64_t q[2];
uint64_t w[8];
char b[16];
};
?
最佳答案
是。请参见__attribute__((aligned))
和alignas
。
如果您问“为什么为什么使用__attribute__
而不是alignas
?”我怀疑答案是“因为alignas
相对较新,但是__attribute__
支持的时间更长了”。
关于c++ - 属性对齐的跨平台,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42226704/