Как я могу упаковать структуры/объединения побитно в GCC и VC++?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу упаковать структуры/объединения побитно в GCC и VC++?

Сообщение Anonymous »

Предположим, у нас есть такая структура:

Код: Выделить всё

struct SN {
uint8_t a;
uint8_t b : 4;
}
Теперь предположим, что у нас есть массив этих структур, например std::array , и количество элементов равно кратному обратному коэффициенту смещения битов в байте (например, 1/(4/8) = 1/0,5 = 2 -> 4 кратно 2)
Как я могу упаковать структура/объединение в GCC и VC++ побитно, поэтому с точки зрения памяти массив будет выглядеть так:

Код: Выделить всё

[8 bits]
[4+4 bits]
[8 bits]
[8 bits]
[4+4 bits]
[8 bits]
вместо

Код: Выделить всё

[8 bits]
[4 bits + 4 bit padding]
[8 bits]
[4 bits + 4 bit padding]
[8 bits]
[4 bits + 4 bit padding]
[8 bits]
[4 bits + 4 bit padding]
Благодарю за вашу помощь!

Подробнее здесь: https://stackoverflow.com/questions/798 ... gcc-and-vc

Вернуться в «C++»