Chinaunix

标题: tcmalloc链接库重载malloc是如何实现的 [打印本页]

作者: kdkgod    时间: 2016-01-14 09:48
标题: tcmalloc链接库重载malloc是如何实现的
tcmalloc的使用方式有两种,第一种是编译时链接tcmalloc库,另一种是使用环境变量.

我的问题是tcmalloc库是如何实现的链接它的库就重载malloc函数?
作者: lxyscls    时间: 2016-01-14 10:03
回复 1# kdkgod


    libc(ptmalloc)里面的是弱符号,tcmalloc里面的是强符号?

    供参考:http://blog.csdn.net/astrotycoon/article/details/8008629

    另外就是系统的malloc/free/realloc都有hook,可显式替换
作者: linux_c_py_php    时间: 2016-01-14 10:58
这个我试图实现过,可惜C++非常难做,因为有全局和静态对象的存在,覆盖符号不能解决此类问题,解决方案网上很多,你可以自己看看,不过要做到tcmalloc这种级别的兼容性,难。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2