C++ 数组中成员数和位字段数可变的结构

C++ 数组中成员数和位字段数可变的结构,c++,templates,struct,bit-fields,C++,Templates,Struct,Bit Fields,我有很多结构,看起来像: struct S { float a; uint8_t b; uint8_t c : 4; uint8_t d : 2; uint8_t e : 1; uint8_t f : 1; uint8_t g : 1; ... } __attribute__((packed)); 成员的数量、名称、类型和位字段的大小不同。 我需要根据xml中的数据创建这个结构 <S> <a type="float", size=""/> <a typ

我有很多结构,看起来像:

struct S {
float a;
uint8_t b;
uint8_t c : 4; 
uint8_t d : 2; 
uint8_t e : 1; 
uint8_t f : 1; 
uint8_t g : 1;

...

} __attribute__((packed));
成员的数量、名称、类型和位字段的大小不同。 我需要根据xml中的数据创建这个结构

<S>
<a type="float", size=""/>
<a type="uint8_t", size=""/>
<a type="uint8_t", size="4"/>
<a type="uint8_t", size="2"/>
<a type="uint8_t", size="1"/>
<a type="uint8_t", size="1"/>
<a type="uint8_t", size="1"/>
</S>

我怎样才能做到这一点呢?

不在主题范围之内,但您可以使用库来生成代码,以及一个


下次尝试:

您是想基于此XML文件创建C源代码,还是想在运行时在读取XML的同一程序中创建这些结构?如果你提到你需要这个做什么会更好。我需要能够在不重新编译项目的情况下添加或更改结构你在项目中使用这些结构做什么?我通过udp发送它们