我就在C网络数据包模拟器的工作,需要使用几个不同struct
定义,例如:的#pragma包VS -fpack-结构的英特尔C
struct DMPacketStruct
{
short int header[8];
short int a;
unsigned char b;
short int c;
}DMPacket;
默认情况下,编译器(英特尔)会在b
和c
之后添加缓冲区,因此我可以使用#pragma pack
预处理器命令或将-fpack-struct
添加到编译器标志。由于我在程序中有几个类似的结构,我想使用-fpack-struct
。除了减慢IO的速度之外,使用标志而不是预处理器命令有什么缺点吗?
我甚至没有考虑编译器的兼容性。感谢您的洞察力。 – DavidH