腾讯面试,最后一轮技术问的一道题,急求,谢谢!关于对齐
#define ALIGN(a, b) (((a) + (b) - 1) & (~((b) - 1)))
[解决办法]
问题呢?
[解决办法]
当b为1<<n时,返回 ((a+b-1)/b)*b
内存对齐的高效率算法
[解决办法]
名字本身,就是含义了,地址对齐,没啥说得
[解决办法]
把A加到最小的B的整数倍,SGI的STL中关于内存池的大小分配用的就是这样的代码
[解决办法]
(address + size - 1) 一个新的地址,address后,不超过size的最大地址
~(size - 1) 根据size,减1去反
& 抹掉地位,也就是address,上对齐,得最近size整数倍地址
网上n多解释,你去看看吧,铁比我瞎写的强
[解决办法]
看不懂的,再回来问,这部分是系统地址对齐的知识,很基础的
在堆管理上,分页处理上,弄文件存储,文件数据库等等,各种使用
如果你以后自己弄点什么,进行内存或者磁盘分配,地址对齐,都可以用到,不白学
[解决办法]
2^n向上对齐。
[解决办法]
http://blog.sina.com.cn/s/blog_757146520100rowb.html
[解决办法]
居然是内存对齐啊
[解决办法]
这个真能使腾讯最后一轮的面试题?
。。。。不懂他是想考察什么方面,应该学了汇编就简单了
[解决办法]
这个估计首先考察内存方面的基础,然后会引申到一些应用方面上