TCMalloc - 获取指针的分配大小
TCMalloc - get size of allocation for a pointer
使用 TCMalloc - 给定堆分配对象,有没有办法获得对象的分配大小(意味着只有 malloc 调用中传递的大小)?
我要求一个 "reliable" 方法(即,假设分配大小存储在指针之前,不返回字大小)
从版本 1.6 开始,TCMalloc includes:
size_t tc_malloc_size(void*);
其中 returns 从参数开始的可用分配大小。
它与 glibc malloc_usable_size
(或 BSD 的 malloc_size
)相同,libtcmalloc
包括这两个函数的别名。
但是,不一定是最初请求的大小。它可能更大(通常是)。我不相信 TCMalloc(或大多数其他 malloc 实现)保留该元数据,因此(afaik)既没有可靠的机制也没有不可靠的机制来返回原始 malloc 调用并检查请求大小。
使用 TCMalloc - 给定堆分配对象,有没有办法获得对象的分配大小(意味着只有 malloc 调用中传递的大小)? 我要求一个 "reliable" 方法(即,假设分配大小存储在指针之前,不返回字大小)
从版本 1.6 开始,TCMalloc includes:
size_t tc_malloc_size(void*);
其中 returns 从参数开始的可用分配大小。
它与 glibc malloc_usable_size
(或 BSD 的 malloc_size
)相同,libtcmalloc
包括这两个函数的别名。
但是,不一定是最初请求的大小。它可能更大(通常是)。我不相信 TCMalloc(或大多数其他 malloc 实现)保留该元数据,因此(afaik)既没有可靠的机制也没有不可靠的机制来返回原始 malloc 调用并检查请求大小。