【问题标题】:Using tcmalloc in my C++ project在我的 C++ 项目中使用 tcmalloc
【发布时间】:2018-03-26 04:41:15
【问题描述】:

我在 linux 中将我的 C++ 程序与-ltcmalloc_minimal 链接到tcmalloc,并且我已经使用apt-get install libgoogle-perftools-dev 安装了ltcmalloc 库。

我是否需要将任何包含文件添加到我的项目源文件中才能在我的项目中启用 tcmalloc? tcmalloc 是否替换了我项目使用的所有库中的所有 new/free/malloc?

【问题讨论】:

    标签: c++ tcmalloc


    【解决方案1】:

    要结束这个问题,我只需要在编译过程中包含lib,不需要包含任何头文件。

    【讨论】:

      【解决方案2】:

      除非您专门调用 tcmalloc API - 即 tc_newtc_free 您不需要包含任何来自 tcmalloc 的标头。这是因为 malloc 和其他内存函数声明已经包含在对 include <malloc.h> 的调用中。它们的定义在 tcmalloc 库中被覆盖(或别名)。在 TCMalloc 中,标准 API(newmallocreallocfreedelete 等)和 POSIX API(如posix_memaligned)或者是别名(在 GCC 兼容平台)或覆盖(Windows,...)。您唯一需要添加的是静态链接库-ltcmalloc_minimal.a-ltcmalloc.a 及其路径。

      【讨论】:

        【解决方案3】:

        是的,您需要包含标题,因为您需要函数的声明。

        关于你的第二个问题,我建议你阅读他们的documentation

        【讨论】:

        • 该文档没有回答我的问题。
        猜你喜欢
        • 2015-05-21
        • 2021-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多