关于对齐
来源:互联网 发布:电子书阅读小软件 编辑:程序博客网 时间:2024/05/26 19:20
昨天在cortex A9的uboot上直接操作内存是遇到了一些问题,跟对齐有关,现总结如下。我当初是这样操作的:*(vu_long *)0x0fffffff = 0xa5;但是此操作会失败,cpu重启,开始的时候以为是数据对齐的问题,把 *(vu_long *)0x0fffffff = 0xa5改为*(vu_long *)0x0fffff00 = 0xa5可以正常操作,因位cortex A9是32位的,所以,访问的时候要4字节对齐,这其实就是地址对齐,其实只要地址的最后两位是00也就是地址是4的倍数,就是四字节对齐,也就是说只要地址是0xxxxxxxxc的都是合法的地址。但是这样不能对任意字节进行访问,发现了(vu_long *),这就是强制转换使地址为四字节对齐,把vu_long *改为char *之后就可以对任意地址进行访问了。
很基础的问题,总结一下...
- 关于对齐
- 关于对齐
- 关于字节对齐【转载】
- 关于内存对齐
- 关于内存对齐
- 关于内存对齐
- 关于“内存对齐”
- 关于C++ 字节对齐
- 关于字节对齐
- 关于C++ 字节对齐
- 关于内存对齐
- 关于内存对齐
- 关于边界对齐问题
- 关于内存对齐
- 关于字节对齐
- 关于内存对齐问题
- 关于内存对齐
- 关于内存对齐
- C语言中scanf的问题
- 解析C++中的内部连接与外部连接
- 使用CTabCtrl控件实现属性页功能
- 使用Event同步线程的小例子
- android 基本环境配置
- 关于对齐
- oracle使用-解决无法启动监听器
- 裁员屠刀下一个目标会是谁?
- 手机短信字符编码的问题
- Java基础20天--04--IO流
- 从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起
- EXECL2003宏被禁用的解决办法
- 读写文件
- 分离字符串