新闻中心

EEPW首页>嵌入式系统>设计应用> arm c中字节对齐

arm c中字节对齐

作者: 时间:2016-11-09 来源:网络 收藏

__align

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

本文引用地址: //m.amcfsurvey.com/article/201611/317651.htm

__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.参考:ARM手册



关键词:armc字节对

评论


技术专区

关闭