tcmalloc vs2013编译

下载

https://github.com/gperftools/gperftools

编译

tcmalloc 编译比较简单,有现成的工程。默认是使用vs2015编译,需要降级,并同时去掉“constexpr”关键字的使用。

使用

可以参考 “README_windows.txt”

dll 版

选择“release-patch”编译出lib、dll
在自己的项目中包含libtcmalloc_minimal.lib,并在“强制服号引用”设置“__tcmalloc”

静态库(md) 版

选择“release-patch” ,项目输出修改为 “lib” 编译出 libtcmalloc_minimal.lib。

在自己的项目中包含libtcmalloc_minimal.lib,并在“强制服号引用”设置“__tcmalloc”

静态库(mt) 版

选择“release-override” 编译出 libtcmalloc_minimal.lib。

  • 将libtcmalloc_minimal 工程添加到自己的项目中,然后在“通用属性”–“引用” 中添加libtcmalloc_minimal

  • 在“预处理器定义中增加 “PERFTOOLS_DLL_DECL=”

总结

jemalloc 在windows下无法简单的替换项目中的malloc、free,但是tcmalloc却可以很方便的替换。