コード main.c の場合:
#include <stdio.h>
#include <stdlib.h>
int main()
{
void* p = malloc(1000);
free(p);
return(0);
}
最初のコンパイル: gcc main.c -o a.out
2回目のコンパイル: gcc main.c -ltcmalloc -o a.out
1 回目は glibc stdlib を使用,2 回目は tcmalloc を使用
そして、次のように main.c を書くことができます:
#include <stdio.h>
#include <google/tcmalloc.h>
int main()
{
void* p = tc_malloc(1000);
tc_free(p);
return(0);
}
3回目のコンパイル:gcc main.c -ltcmalloc -o a.out
3番目は確かにtcmallocを使用しています
2番目と3番目のコンパイルは同じですか?
私は tcmalloc がtc_malloc_size
/tc_valloc
のようなより多くの関数をサポートしていることを知っています.main.cを書くには tc_* 関数を使用する方が良いと思います.より多くの関数がありますか?
tc_valloc / tc_new / tc_newarray / tc_valloc / tc_pvalloc などの関数のマニュアル ページが見つかりません