我创建一个结构用下面的代码:固定宽度STRUCT C++
struct d_entry{
bool _free;
char name[10];
bool _dir;
time_t _cDate;
unsigned short _cluster;
char reserved[6];
unsigned int _size;
};
我需要我的结构是32个字节的固定大小的。根据我的计算机,以下类型(结构外)具有以下大小。
sizeof(bool) = 1 byte
sizeof(char) = 1 byte
sizeof(time_t) = 8 bytes
sizeof(short) = 2 bytes
sizeof(int) - 4 bytes
当我运行任何d_entry的大小,大小为40个字节。出于某种原因,time_t和long类型被解释为16个字节。我一直无法解决这种情况。
填充和对齐问题。 [编译指南(1)修复](http://coliru.stacked-crooked.com/a/f09c137a6ad34250) – Borgleader
填充和对齐问题可以通过编译器特定的编译指示来解决。 –
@Borgleader我打算把它放在答案中,但是你先打电话给你,这样你才能回答。 –