#pragma pack(push,1)
struct xyzzy {
BITMAPINFOHEADER header;
char plugh;
long twisty;
} myVar;
我的问题是:这种打包技术是否仅适用于当前结构,还是可能会影响BITMAPINFOHEADER
的打包方式。我无法想象后者会有多大的用处,因为这将使该结构与通过Windows API调用获取的结构不同。例如,假设该结构如下:typedef struct {
char aChar;
DWORD biSize;
} BITMAPINFOHEADER;
那种结构如果使用1的打包而不是Windows的默认8(对于32位系统而言,64位系统可能为16),将会有很大的不同。
BITMAPINFOHEADER
是否因其很可能早先被声明而免受打包的保护?如果它作为外部声明的一部分被声明,那么它是否会受到打包的影响呢?
BITMAPINFOHEADER
已经被“完美地”打包了。但我理解你的观点,这是一个有趣的问题,+1。 - Matteo Italia#pragma pack
一无所知,因此我们只能依赖供应商提供的文档。 - Matteo Italia