(очень!)хочу найти тулзу которая может сгенерировать структуру и пребразование структур из packed(8) в упакованую по 1 и обратно..
в some_protocol.h есть структуры (форматы сетевых пакетов) в которых поля выровнены по 8 байт. То есть как в визальном-ц по умолчанию устроено так их в сеть и вываливают. И есть DSL который принимает (которому несложно объяснить и передать) только упакованные структуры :( Соответсвенно надо конвертить пакеты туда-сюда.
писать руками и сопровождать что-то типа
#pragma pack(8,push)
struct Foo {
char uno;
};
#pragma pack(pop)
#pragma pack(1,push)
struct FooPacked {
char uno;
};
#pragma pack(pop)
PackFoo(struct Foo *,struct FooPacked *);
UnpackFoo(struct FooPacked *,struct Foo *);
PS/ про endianes и кодировку строк лучше и не спрашивайте :)