系统相关
首页 > 系统相关> > linux – 是否有一个malloc变体在调用`free()`时将块清零?

linux – 是否有一个malloc变体在调用`free()`时将块清零?

作者:互联网

我想在系统范围内替换标准的malloc(通过LD_PRELOAD或者只是替换已安装的libc),将一个可以释放释放块中所有内容的东西.有谁知道现有的解决方案?

在堆的未使用部分中使用零将使得通过zram-config压缩它更加有效.由于我需要的RAM多于CPU,因此增加CPU使用率不是问题.

解决方法:

您可以修改系统上的C库.我不认为你会发现修改过的C库正是以这种方式进行内存分配,因为它是非标准的.但修改听起来相对容易.看看你的C库的实现,你可以用一个包装做免费的memset而不是免费替换free的实现.

标签:libc,linux,malloc,customization
来源: https://codeday.me/bug/20190831/1776366.html