Gcc malloc和tc_malloc有什么区别?

Gcc malloc和tc_malloc有什么区别?,gcc,tcmalloc,Gcc,Tcmalloc,对于代码main.c: #include <stdio.h> #include <stdlib.h> int main() { void* p = malloc(1000); free(p); return(0); } 第三次编译:gcc main.c-ltcmalloc-oa.out 第三是使用tcmalloc 第二次和第三次编译相同吗 我知道tcmalloc支持更多的函数,比如tc_malloc_size/tc_valloc,我想使用tc_*

对于代码main.c:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    void* p = malloc(1000);
    free(p);
    return(0);
}
第三次编译:gcc main.c-ltcmalloc-oa.out

第三是使用tcmalloc

第二次和第三次编译相同吗

我知道tcmalloc支持更多的函数,比如tc_malloc_size/tc_valloc,我想使用tc_*函数编写main.c是更好的选择,所以我有更多的函数

我找不到像tc_valloc/tc_new/tc_newarray/tc_valloc/tc_pvalloc这样的函数的任何手册页


我发现这是一个关于所有tcmalloc函数的手册页

当tcmalloc加载时,malloc和free都有别名。请参阅gcc文档中的_属性别名到tc_malloc和tc_free

所以你的第二次跑步和第三次跑步是一样的


tc_malloc和tc_free的目的是能够直接使用tcmalloc版本的malloc,而不考虑其他分配器。

但是tc_valloc或tc_cfree函数手册页上没有任何内容。我想要的不仅仅是基本的malloc/calloc/realloc/free/malloc\u大小。1它不是手册页。2链接文档甚至没有解释tc_*函数的作用。3它不能回答这个问题。
#include <stdio.h>
#include <google/tcmalloc.h>
int main()
{
    void* p = tc_malloc(1000);
    tc_free(p);
    return(0);
}