【发布时间】:2015-11-21 06:16:07
【问题描述】:
对于代码 main.c:
#include <stdio.h>
#include <stdlib.h>
int main()
{
void* p = malloc(1000);
free(p);
return(0);
}
第一次编译:gcc main.c -o a.out
第二次编译:gcc main.c -ltcmalloc -o a.out
第一次使用glibc stdlib,第二次使用tcmalloc
我可以这样写 main.c:
#include <stdio.h>
#include <google/tcmalloc.h>
int main()
{
void* p = tc_malloc(1000);
tc_free(p);
return(0);
}
第三次编译:gcc main.c -ltcmalloc -o a.out
第三个肯定是使用tcmalloc
第二次和第三次编译是一样的吗?
我知道 tcmalloc 支持更多的函数,比如tc_malloc_size / tc_valloc,我想使用 tc_* 函数是编写 main.c 的更好选择,所以我有更多的函数?
我找不到像 tc_valloc / tc_new / tc_newarray / tc_valloc / tc_pvalloc 这样的函数的手册页
【问题讨论】:
-
但是没有关于 tc_valloc 或 tc_cfree 函数的手册页。我想要的不仅仅是基本的 malloc/calloc/realloc/free/malloc_size。