如何让地址实现某一个长度的地址对齐?
来源:互联网 发布:全国淘宝店铺有多少个 编辑:程序博客网 时间:2024/06/08 10:51
转载请注明原地址:http://blog.csdn.net/oyhb_1992/article/details/77043355
如何让地址实现某一个长度的地址对其?
例如将某一个地址实现4096字节对齐
——————某4096字节对齐处:如3*4096,4*4096
| |
| |
| |
| |
| |ß(addr)+PAGE_SIZE-1
| |
| |
| |
| |
——————某4096字节对齐处:如2*4096,3*4096 对齐后addr
| |
| |
| |
| |
| |ßaddr 对齐前addr
| |
| |
| |
| |
——————某4096字节对齐处:如0,4096,2*4096
#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&~( PAGE_SIZE-1))
怎么理解这个宏,网上都是举例子
如::_bss_end=100,PAGE_SIZE=64,上述计算后,addr=128,刚好是64的倍数,且大于100,若_bss_end=128,则addr=128
如何更加形象的理解:就是参照图形更好理解,什么东西用图就是最好的理解最好的记忆方法,参照上图,先将addr 加4096,让这个地址超出字节对齐地址,再把超出的部分减掉就实现对齐了。说白了就是先进位,再把余数清零。
- 如何让地址实现某一个长度的地址对齐?
- 让地址4字节对齐的办法
- 实现地址对齐的内存分配函数
- STM32中的常量数组的首地址如何指定FLASH的某一个地址
- 内存地址的对齐
- 地址对齐
- 地址对齐
- 内存分配地址的对齐
- 内存池的内存地址对齐和长度按照2的幂取整
- 如何让URL地址加密
- ARM 如何实现绝对地址的跳转
- 动态分配空间,地址为16的倍数(地址对齐)
- 关于内存地址对齐的问题
- ARM平台的地址对齐问题
- 动态分配内存返回地址对齐的指针
- 字节对齐导致的地址计算错误
- 深入了解"地址对齐"!
- 内存地址对齐
- 远程协作与多方会议工具TeamViewer的使用
- iOS .a打进项目有的第三方库
- scala中的控制结构
- RedHat配置GPU计算环境
- MyBatis教程之五动态SQL的使用
- 如何让地址实现某一个长度的地址对齐?
- Python的并发和网络
- Synchronized小记
- fiddler 的使用方法
- HeadFirst Python记事本
- tcpdump非常实用的抓包实例
- 正则表达式爬取慕课网课程图片
- 关于图表的展示插件
- java.lang.NoClassDefFoundError: org/apache/taglibs/standard/tag/rt/core/UrlTag