TCMalloc - 获取指针的分配大小

时间:2018-03-14 15:28:40

标签: c++ c memory-management free tcmalloc

使用TCMalloc - 给定堆分配对象,有没有办法获得对象的分配大小(意味着只在malloc调用中传递的大小)? 我要求一个可靠的"假设分配大小存储在指针之前,方法(即,不返回字大小)

1 个答案:

答案 0 :(得分:2)

从版本1.6开始,TCMalloc includes

                                         x longword
1 I am a dentist in a health organization.  dentist
2 I am a dentist in a health organization.  dentist

返回从参数开始的分配的可用大小。

它与glibc size_t tc_malloc_size(void*); (或BSD' s malloc_usable_size)完全相同,而malloc_size包含这两个函数的别名。

但是,必然是最初请求的大小。它可能更大(通常是)。我不相信TCMalloc(或大多数其他malloc实现)保留了元数据,所以(afaik)既没有可靠的也不是不可靠的机制来计时回到原始malloc调用并检查请求大小。