经过几天的测试,我发现运行时修补机制patch_functions.cc在生产环境中使用并不安全。
除了 HeapAlloc() 和 HeapFree() 之外,它似乎在 VS2010 项目中运行良好,但由于一些未解决的问题Open Issues
无法在 VS2015 项目中使用。Windows 自述文件描述了这种使用 tcmalloc 的替代方法:
以上所有方法的替代方法是将您的应用程序与 libc 静态链接,然后将其 malloc 替换为 tcmalloc。这使您可以正常构建和链接程序;tcmalloc 支持来自后处理步骤。这比上述技术更可靠(它依赖于运行时补丁,它本质上是脆弱的),尽管需要做更多的工作。有关详细信息,请参阅 https://groups.google.com/group/google-perftools/browse_thread/thread/41cd3710af85e57b
不幸的是,所提供的点赞是不可取的,似乎谷歌已经关闭了该组。
有人可以解释一下我该怎么做吗?