я нашел такую странную вещь: для структуры MasterBootRecordMVC 11.0 - Неправильный размер структуры?
//
typedef unsigned char Byte;
typedef unsigned short int Word;
typedef unsigned int Dword;
//
typedef struct
{
Byte currentPartitionState;
Byte startPartitionHead;
Word startCylinderSector;
Byte partitionType;
Byte endPartitionHead;
Word endCylinderSector;
Dword numSectorsBetweenMbrAndPartition;
Dword numSectorsInPartition;
} PartitionEntry;
//
typedef struct
{
Byte executableCode[446];
PartitionEntry partitionEntry1;
PartitionEntry partitionEntry2;
PartitionEntry partitionEntry3;
PartitionEntry partitionEntry4;
Word bootRecordSignature;
} MasterBootRecord;
, когда я пытаюсь получить SizeOf (MasterBootRecord), я получаю 516 байт, хотя правильный размер составляет 4 + 446 * 16 + 2 = 512. Почему это может быть так ???
Возможно, вам понадобится пакет #pragma – drescherjm
's/right size/size, который * Я * думаю, что это должно быть, потому что я недостаточно образован, чтобы ответить на мой собственный вопрос /' –
Или переупорядочить данные. Сначала введите разделы, затем bootRecordSignature, затем исполняемый код. –