结构体 字节对齐 __align() __attribute((aligned (n))) #pragma pack(n)

6 篇文章 0 订阅
#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)是位对齐.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值