定义的结构体中,有成员变量使用long long类型定义,然后在该结构体所在的头文件上使用#pragma pack(1)
typedef struct{
uint8_t b;
long long a;
uint16_t c;
}
#pragma pack()
进行对齐时,发现只要使用了这个结构体long long成员的地址时,程序就会莫名的卡死。
这个可能和芯片的内存对齐机制有关。去掉#pragma pack(1) 这些就没有问题。
定义的结构体中,有成员变量使用long long类型定义,然后在该结构体所在的头文件上使用#pragma pack(1)
typedef struct{
uint8_t b;
long long a;
uint16_t c;
}
#pragma pack()
进行对齐时,发现只要使用了这个结构体long long成员的地址时,程序就会莫名的卡死。
这个可能和芯片的内存对齐机制有关。去掉#pragma pack(1) 这些就没有问题。