__align的用法

 __align:

__align 关键字指示编译器在 n 字节边界上对齐变量。

__align 是一个存储类修饰符。 它不影响函数的类型。
语法
__align(n)

其中:
n

是对齐边界。

对于局部变量,n 可以具有值 1、2、4 或 8。

对于全局变量,n 可以具有最大为 2 的 0x80000000 次幂的任何值。

__align 关键字紧靠变量名称前面放置。
用法

如果声明的变量的常规对齐边界小于 n,__align(n) 是非常有用的。 八字节对齐方式可以显著提高 VFP 指令的性能。

可以将 __align 与 extern 和 static 一起使用。
限制

由于 __align 是存储类修饰符,因此不能将其用于:

类型,包括 typedef 和结构定义

函数参数。

只能进行过对齐。 也就是说,可以将两个字节的对象按 4 个字节对齐,而不能将 4 个字节的对象按两个字节对齐。
帵椺
__align(8) char buffer[128]; // buffer starts on eight‑byte boundary
void foo(void)
{
  ...
  __align(16) int i; // this alignment value is not permitted for
  // a local variable
  ...
}

__align(16) int i; // permitted as a global variable.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值