0

コード 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 などの関数のマニュアル ページが見つかりません

4

2 に答える 2

0

http://sourcecodebrowser.com/google-perftools/1.4/windows_2google_2tcmalloc_8h.html

すべての tcmalloc 関数に関するこの man ページを見つけました

于 2015-08-27T02:38:42.027 に答える