Как проверить размер структуры без отступов?
Предположим, у меня есть структура:
struct A {
uint16_t a;
uint64_t b;
};
Есть ли способ получить размер без заполнения? Т.е. сумма sizeof всех членов (даже если она не является рекурсивной).
Обычноsizeof(A) == 16.
Мне бы хотелось .__GCC_sizeof__(A) == 10
Я хочу, чтобы в тестовом коде не затрагивался реальный код, а это значит, нет"#pragma"
с и нет"__attribute__"
в определении структуры. (Хотя это можно сделать с#ifdef TEST
, но это очень некрасиво).
Это недолжен быть переносным,GCC
достаточно.
Спасибо!