heartinharbin

vs2015使用tcmalloc(windows)

编译lib库

1、https://github.com/gperftools/gperftools  去tag中下载了2.4版本(最新的2.9.1版本 用了c++17的新特性折叠表达式,vs2015不支持  有2个unittest测试用例工程编译失败)

2、在下载的目录中 .sln 打开vs工程

3、配置x64环境  (可以仿照下默认x86配置修改)

4、编译生成 libtcmalloc_minimal.lib

 

2.4.91 版本有2个unittest工程编译失败,待解决

 

使用:

1、使用dll的方式    配置链接器  常规-》 附加库目录  和   输入-》附加依赖项,并把对应的dll拷贝到exe目录下

2、需要在工程项目属性==》链接器 ==》输入=》强制符号引用中加入 __tcmalloc

3、用malloc 和 free 对小内存简单分配测试,速度变为了原来的3倍多

 

FAQ:

修改x64环境遇到的问题:

1、LINK : warning LNK4078: multiple “.text” sections found with different attributes (40000040)

  工程项目属性 ==》  c/c++ ==》代码生成 ==》 启动最小重新生成  ==》改为是(/Gm)

2、error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW

     工程项目属性->C/C++->代码生成-> 运行库, "多线程 (/MT) " 修改为 "多线程调试(/MTd)"

 

分类:

c++

技术点:

相关文章:

  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-07-29
  • 2021-12-18
  • 2021-07-30
  • 2021-11-01
猜你喜欢
  • 2022-01-11
  • 2022-12-23
  • 2021-10-10
  • 2021-08-31
  • 2021-10-04
  • 2021-05-27
相关资源
相似解决方案