假设我在一台32位计算机上,我有这个定义:
#pragma pack(push,2)
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
#pragma pack(pop)
我将使用此结构的大小以及其他结构的大小:
bitmap_file_header->bfSize = sizeof(BITMAPINFOHEADER)+sizeof(BITMAPFILEHEADER)
正如您所看到的,我期待结构的大小。是我使用#pragma pack(push,2)
如果我想使这个64位兼容,我不知道这两种情况将如何相关。
我在任何平台上的目标是:获取结构成员的总大小。
我的问题:这段代码是否会像我瞄准的那样适用于64位,如果不是正确的解决方案呢?