Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203852
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 798
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 14:54
文章分类

全部博文(87)

文章存档

2015年(87)

我的朋友

分类: C/C++

2015-01-30 14:43:44

#pragma,是一个编译控制指令,可以在编译时动态地调整编译选项,这种指令在不同的编译系统中是不同的.

 

#pragma DATA_ALIGN( symbol,constant)

指令的作用是:排列排列symbol到constant指点的列边界上.

 

#pragma DATA_ALIGN( rxdata_stream,   128)
就是让rxdata_stream地址的末尾7位是0(二进制地址),就是128字节对齐。
对齐的目的,一般是位了CACHE读写外存。
如果一个CACHE的line是128字节。这样,如果数据128字节对齐,那么取一个128字节的数据,只使用一个CACHE行就够了。

 

char efd;
#prgma DATA_ALIGN(efd, 8)
编译时一定会把efd变量的地址安排在8字节对齐的位置上,也即efd地址的低3位一定为0。

阅读(1831) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~