最近我正在追踪一个当网络通信的两端具有不同的字节序时出现的错误。一方已经发送了电报标记lastSegment
,而另一方仍在无休止地等待最后一段。
我读了这段代码:
#ifndef kBigEndian
struct tTelegram
{
u8 lastSegment : 1;
u8 reserved: 7;
u8 data[1];
};
#else
struct tTelegram
{
u8 reserved: 7;
u8 lastSegment : 1;
u8 data[1];
};
#endif
我知道字节序与多字节类型有关,例如 int、long 等。但是为什么它在前面的代码中关心呢?lastSegment
并且reserved
在一个字节内。
那是一个错误吗?