static char __align(4) buffer[SIZE] 怎么解释

GGStudy_DayDayUp 2006-06-28 06:05:17
如题, __align(4)是什么?急...
...全文
960 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
winks 2006-06-28
  • 打赏
  • 举报
回复
学习了
FBIq 2006-06-28
  • 打赏
  • 举报
回复
MARK
herman~~ 2006-06-28
  • 打赏
  • 举报
回复
四字节对齐
jimmy212 2006-06-28
  • 打赏
  • 举报
回复
了解了不少啊,哈哈
Jedimaster 2006-06-28
  • 打赏
  • 举报
回复
声明4字节对齐的一块静态char存储区

现在32位机器上的编译器都是4字节对齐诸如结构,类

如果要对其数组等存储区对齐也可以用宏的方法实现
windnet 2006-06-28
  • 打赏
  • 举报
回复
简单介绍一下对齐的使用:

1.__align(num)
这个用于修改最高级别对象的字节边界。在汇编中使用LDRD或者STRD时
就要用到此命令__align(8)进行修饰限制。来保证数据对象是相应对齐。
这个修饰对象的命令最大是8个字节限制,可以让2字节的对象进行4字节
对齐,但是不能让4字节的对象2字节对齐。
__align是存储类修改,他只修饰最高级类型对象不能用于结构或者函数对象。

2.__packed
__packed是进行一字节对齐
1.不能对packed的对象进行对齐
2.所有对象的读写访问都进行非对齐访问
3.float及包含float的结构联合及未用__packed的对象将不能字节对齐
4.__packed对局部整形变量无影响
5.强制由unpacked对象向packed对象转化是未定义,整形指针可以合法定
义为packed。

65,180

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧