我正在使用 brk、sbrk 和 getpagesize() 重新编码 malloc 函数
我必须遵守两条规则:
1)我必须将我的记忆与 2 的幂对齐
这意味着:如果对 malloc 的调用是: malloc(9); 我必须返回一个 16 字节的块。(最接近 2 的幂);
2)我必须在 2 页的倍数上对齐中断(程序结束数据段)。
我正在考虑规则,我想知道我是否真实;
规则 1)我只需要返回我的 malloc(所以 malloc 以六进制返回的地址)为 2 的倍数?
对于规则 2)
如果我没记错的话,中断是堆中的最后一个地址,我是否需要像这样设置中断(中断 - 堆开始)%(2 * getpagesize())== 0?或者只是 break % (2 * getpagesize() == 0?谢谢