可能重複:
How do I find the size of a struct?
Struct varies in memory size?C結構尺寸不一致
我使用以下用於網絡通信的結構,它創建地段之間的不必要的字節。
它給出了不同的大小比預期的8個字節。
struct HttpPacket {
unsigned char x1;
union {
struct {
unsigned char len;
unsigned short host;
unsigned char content[4];
} packet;
unsigned char bytes[7];
unsigned long num;
}
並按照給即使是我從工會
struct HttpPacket {
unsigned char x1;
union {
struct {
unsigned char len;
unsigned short host;
unsigned char content[4];
} packet;
unsigned long num;
}
還刪除字段大小不同,一個更明顯的例子
struct {
unsigned char len;
unsigned short host;
unsigned char content[4];
} packet;
而且它提供了大小爲8,而不是7. 而且我再添加一個字段,它仍然給出相同的大小
struct {
unsigned char EXTRAADDEDFIELD;
unsigned char len;
unsigned short host;
unsigned char content[4];
} packet;
可有人請有關解決此問題的幫助?
更新:我需要在發送數據包來保存格式,所以我想跳過這些墊襯
我需要傳輸數據包時保存的格式,所以我想跳過這些填充 – coder000001 2011-12-16 20:05:27
在XCode 4上需要此LLVM編譯器 – coder000001 2011-12-16 20:10:03
但是,我需要針對XCode 4新LLVM編譯器的解決方案。 – coder000001 2011-12-16 20:16:02