Размер BITMAPFILEHEADER
должен быть 14 байтов, но когда я запускаю код, я получаю 16 байтов. Я думал, что это из-за заполнения, поэтому я добавил __attribute__((packed))
, но я все еще получаю 16 байтов. Зачем?
#include<stdint.h>
#include <stdio.h>
#include <stdlib.h>
typedef uint8_t BYTE;
typedef uint32_t DWORD;
typedef int32_t LONG;
typedef uint16_t WORD;
typedef struct
{
WORD bfType;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfSize;
DWORD bfOffBits;
} __attribute__((packed))
BITMAPFILEHEADER;
int main(void){
printf(" %i \n",sizeof(BITMAPFILEHEADER));
return 0;
}