在什么情况下malloc_trim(0)会导致崩溃? 下面是的手册页:故障定位修剪(3) Linux程序员手册 软锁_修剪(3)姓名 -从堆顶部释放可用内存概要 说明 函数尝试释放堆顶部的空闲内存(通过使用合适的参数调用)。参数指定堆顶部未修剪的可用空间量。如果此参数为,则堆顶部只保留最小内存量(即,一页或更少)。非零参数可用于在堆顶部保留一些尾随空间,以便将来进行分配时不必扩展具有的堆。返回值 如果内存实际上已释放回系统,则函数返回;如果无法释放任何内存,则返回。错误 未定义错误。符合 此函数是GNU扩展。注 此函数在某些情况下由自动调用;参见中对和的讨论。此函数不能释放位于堆顶部以外位置的可用内存。此函数只释放主竞技场中的内存。对于这个GNU扩展函数来说是一个非常好的参数。报告的错误似乎表明堆损坏了,可能是由您的程序在调用之前引起的。这些错误可能是:在已分配数据块的末尾或开头之前对字节的修改块被释放后的修改同一块的多个空闲 您应该使用内存工具(如valgrind)进行调查,以确定这些问题。还要注意的是是不可移植的,并且在实践中意义有限,因为它只会修剪用分配的遗留堆。现代的分配器使用来分配不同的区域,并且应该自动将未使用的页面释放回操作系统。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/89709.html