整数类型的对齐
Alignment of integer types
我知道结构的大小和对齐方式并不总是相同,但是否对整数类型的大小和对齐方式有任何保证?例如,int
的大小和对齐方式是始终相同还是可能不同?
为了证明我的问题,这个断言永远不会失败吗?
int main() {
assert(_Alignof(int) == sizeof(int));
}
整数类型的对齐方式和大小可以不同。例如 GCC x86 32-bit:
_Alignof(long long) == 4
sizeof(long long) == 8
我知道结构的大小和对齐方式并不总是相同,但是否对整数类型的大小和对齐方式有任何保证?例如,int
的大小和对齐方式是始终相同还是可能不同?
为了证明我的问题,这个断言永远不会失败吗?
int main() {
assert(_Alignof(int) == sizeof(int));
}
整数类型的对齐方式和大小可以不同。例如 GCC x86 32-bit:
_Alignof(long long) == 4
sizeof(long long) == 8