作者:书友32368660 | 来源:互联网 | 2022-12-09 17:24
我最近在接受采访时被问到这个问题.
假设有一个庞大的C程序库,每个程序都有malloc()
s和free()
s块的数据.如果你的程序中有一百万次调用malloc()
和free()
一次运行,你认为会发生什么?如果给你一个非常大的内存堆存储,你会给你的答案添加什么?
1> jaudo..:
可能发生的一件事是你的内存将被分割,特别是如果你分配不同大小的块.
因此,如果您的内存大小不大,则某些malloc可能会失败,即使总可用内存大于请求的内存大小.