Thinking Different




tcmalloc 의 사용법 정리

이제부터 tcmalloc 사용법을 정리하도록 하겠습니다. 정리랄것도 없습니다... 간단히 그냥 프로젝트 다운받아서 lib 컴파일 한 후에 lib, dll을 프로젝트에 로딩하고 tcmalloc.h 만 적용해서 쓰면 끝입니다.



1. 다운로드 사이트
http://code.google.com/p/google-perftools/downloads/list 
윈도우 Visual Studio 기준 : google-perftools-1.8.zip  을 다운 받습니다.



2.  Visual Studio로 google-perftools 프로젝트를 열어서 libtcmalloc_minimal 를 빌드합니다.



3. 위와 같이 lib 와 dll이 만들어 졌습니다. 그럼 필요한 프로젝트에서 헤더파일 경로를 추가합니다. "tcmalloc.h" 가 존재하는 경로를 추가합니다...  위 1.8 기준으로 google-perftools-1.8\src\windows\google 경로에 존재합니다.




4. 아래와 같이 헤더파일과 lib 파일을 추가해서 tcmalloc을 사용하시면 되겠습니다. 기존 malloc과 사용상의 차이점은 거의 없고 이름만 tc_가 추가된거 이외에는 별거 없더군요...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// cmd.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//
#include "stdafx.h"
#include <tcmalloc.h>
 
#pragma comment(lib, "libtcmalloc_minimal.lib")
 
int _tmain(int argc, _TCHAR* argv[])
{
    // c type tcmalloc
    char* str = (char*) tc_malloc(256);
 
    strcpy(str, "korea");
    printf("%s\n", str);
 
    tc_free(str);
 
//--------------------------------------
 
    // cpp type tcmalloc
    char *b = (char*)tc_new(256);
 
    strcpy(b, "test");
    cout << b << endl;
 
    tc_delete(b);
 
    return 0;
}