struct abc
{
int x;
char p;
double x;
char x1;
int x2;
char x3;
};
输出:sizeof(abc)
是32字节
但代码相同
struct abc
{
int x;
char p;
double x;
char x1;
char x3;
int b3;
};
sizeof(abc)
的输出是24字节
第一个程序编译器如何为整数后定义的charecter
多占用8个字节?
答案 0 :(得分:1)
编译器为您的结构添加额外的对齐字节。在Visual Studio中,您可以使用未记录的/ d1reportAllClassLayout进行编译以查看:
pollServerForChanges: task(function * () {
while (true) {
yield timeout(2000); // wait 2 seconds
this.get('store').query(...)
}
}).on('activate').cancelOn('deactivate').restartable(),
如您所见,编译器在结构末尾添加了额外的4个字节。