#pragma pack(4)
struct mystu
{
char a ;
int b ;
};
#pragma pack()
GCC推荐的对齐指令如下:
_attribute_((packed))和_attribute_((aligned(n)))
armcc一般是专门针对arm芯片开发时用的编译器,语法除了遵守标准C语法外,还支持arm体系下特有的语法规则。gcc应用范围场景比较广泛,可以是gcc for x86、gcc for arm,gcc for mips等等,也就是说gcc是在GNU协议下的一款多用途跨平台的开源编译器。gcc功能特强,应用范围特广,可以这么说只要涉及到C/C++语言开发、Linux开发、开源软件开发、嵌入式开发等等领域的,没有不会不用到GCC的。
struct stu{
char sex;
int length;
char name[10];
}__attribute__ ((aligned (1)));
#define GNUC_PACKED __attribute__((packed))
struct PACKED test
{
char x1;
short x2;
float x3;
char x4;
}GNUC_PACKED;
__attribute__((packed))得变量或者结构体成员使用最小的对齐方式,即对变量是一字节对齐,对域(field)是位对齐.