我創建一個結構用下面的代碼:固定寬度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我打算把它放在答案中,但是你先打電話給你,這樣你才能回答。 –