#include <iostream>struct test {
u_int64_t a;
int16_t b;
};int
main()
{
cout << sizeof (test) << endl;
}ВОПРОС:
когда я комментирую test::a вывод = 2.
когда комментирую test::b вывод = 8а когда оба в структуре вывод = 12!
она что, какое-то выравнивание делает?!
наверняка есть чаво по этой теме, кинте ссылочку, plz
т.е. какую опцию где надо вставить, чтобы компилятор не оптимизировал по-своему?
>т.е. какую опцию где надо вставить, чтобы компилятор не оптимизировал по-своему?struct __attribute__((packed)) test {
u_int64_t a;
int16_t b;
};
#include <iostream>#pragma pack (1)
struct test {
u_int64_t a;
int16_t b;};
#pragma pack (4)