对于代码 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 标准库,第二次使用 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 这样的函数的任何手册页