我不知道是否有一个malloc库在调用它时为free-ed内存提供接口。 如果没有,我该怎么做才能实现这一目标?
答案 0 :(得分:0)
在某些操作系统下,您可以使用sbrk
来缩小竞技场的大小。这可能会也可能不会将该内存交回操作系统。
在今天的虚拟内存世界中,它可能并非真的有必要。很有可能,如果你只是停止使用内存,它将被换出并且永远不会回到主存储器中(虽然它可能仍占用地址空间和交换文件空间) - 这一切都取决于操作系统。
答案 1 :(得分:0)
它应该在free()
上自动发生,但有时显式malloc_trim()
会有所帮助: