我正在查看我的项目中的代码。
以下是定义如下的结构:
typedef struct {
ULONG gatewayIp;
UBYTE status;
UBYTE align;
UWORD info;
ULONG magicTemp;
uword stationCode;
} GatewayStatus;
我的问题是为什么我们在上述结构之间保持一致。
我教编译器负责对齐,如以下链接中所述。 http://vcfaq.mvps.org/lang/11.htm
无论上述结构如何,我都会概括我的问题在什么情况下我们必须以编程方式对齐以及编译器会为我们做什么?
如果两台机器具有不同的字节序类型,即一台 m/c 是大字节序而另一台是低字节序,是否需要填充?
请澄清我的问题。
谢谢!