#include <iostream>
struct mystruct_not_packed
{
char a1;
char a2;
int a3;
};
#pragma pack(push,1)
struct mystruct
{
char a1;
char a2;
int a3;
};
mystruct_not_packed object; // This doesn't apply
#pragma pack(pop)
int main(int argc, char *argv[])
{
std::cout << sizeof(mystruct) << std::endl; // 6
std::cout << sizeof(mystruct_not_packed) << std::endl; // 8
std::cout << sizeof(object) << std::endl; // 8
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IG15c3RydWN0X25vdF9wYWNrZWQKewogICAgY2hhciBhMTsKICAgIGNoYXIgYTI7CiAgICBpbnQgYTM7Cn07CgojcHJhZ21hIHBhY2socHVzaCwxKQpzdHJ1Y3QgbXlzdHJ1Y3QKewogICAgY2hhciBhMTsKICAgIGNoYXIgYTI7CiAgICBpbnQgYTM7Cn07CgpteXN0cnVjdF9ub3RfcGFja2VkIG9iamVjdDsgLy8gVGhpcyBkb2Vzbid0IGFwcGx5CiNwcmFnbWEgcGFjayhwb3ApCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7CiAgICBzdGQ6OmNvdXQgPDwgc2l6ZW9mKG15c3RydWN0KSA8PCBzdGQ6OmVuZGw7IC8vIDYKICAgIHN0ZDo6Y291dCA8PCBzaXplb2YobXlzdHJ1Y3Rfbm90X3BhY2tlZCkgPDwgc3RkOjplbmRsOyAvLyA4CiAgICBzdGQ6OmNvdXQgPDwgc2l6ZW9mKG9iamVjdCkgPDwgc3RkOjplbmRsOyAvLyA4Cn0=