내가이 예상되지 및 결과 구조체 A A 구조체 thusly 히 정의 :는 sizeof 연산자
typedef struct _CONFIGURATION_DATA {
BYTE configurationIndicator;
ULONG32 baudRate;
BYTE stopBits;
BYTE parity;
BYTE wordLength;
BYTE flowControl;
BYTE padding;
} CONFIGURATION_DATA;
이제, 내 계산에 의해, 그 구조체는 10 바이트입니다. 그러나 sizeof보고 길이는 16 바이트입니까? 왜 그런지 알아?
Windows DDK의 빌드 도구를 사용하여 컴파일 중입니다.
강제 정렬? – jldupont
기억 : 구조체의 크기가 멤버 크기의 합과 같지 않을 수 있습니다. 구현은 멤버들과 마지막 멤버 이후에 패딩을 삽입 할 수 있습니다. 항상 옵셋으로 인해 이름으로 액세스 멤버에 액세스하므로 컴파일러 버전과 공급 업체간에 오프셋이 변경 될 수 있습니다. –