使用cl / gcc / clang打包的默认结构是什么?

时间:2015-06-24 08:10:28

标签: c++ visual-c++ gcc cl struct-member-alignment

在msdn上为cl编译器选项/ Zp,提到"打包8字节边界上的结构(默认)。"这是否意味着如果数据类型的大小>默认情况下为8个字节(没有编译器选项或编译指示包),它不会自然对齐,而是具有8字节对齐。如果是的话,是GCC / clang的情况吗?

我使用-fpack-struct__uint128_t检查了GCC,它没有任何此类默认值。例如sizeof(tStruct)是32和24:

struct tStruct {
uint64_t    a;
__uint128_t b;
};

我无法在Windows上检查相同内容,因为它没有提供任何数据类型> 8个字节。

0 个答案:

没有答案