【问题标题】:Android libc version and malloc implementationAndroid libc版本和malloc实现
【发布时间】:2011-01-17 00:41:34
【问题描述】:

Android 平台使用什么 libc 实现?使用什么 malloc 实现(ptmalloc 或 tcmalloc 或其他)?

【问题讨论】:

    标签: android malloc libc bionic


    【解决方案1】:

    libc 是 Bionic,malloc 是 Doug Lea version,命名为 dlmalloc(启用 USE_LOCKS 以确保线程安全)。

    更新:dlmalloc 已于 2016 年 1 月删除:https://github.com/android/platform_bionic/commit/c650447239352d43acc2fd99a8579a85ae0469ab https://sourceforge.net/p/android-x86/bionic/ci/0ac0cee0d1ab60a92103a5021e76ec31da2e3234/ "Merge "Remove dlmalloc.""

    +libc_malloc_src := bionic/jemalloc_wrapper.cpp
    +libc_common_c_includes += external/jemalloc/include
    

    所以,Android 7 使用外部 malloc 实现 jemalloc(来自 FreeBSD/Facebook) - http://jemalloc.net/https://github.com/jemalloc/jemalloc;代码的android变体在那里:https://android.googlesource.com/platform/external/jemalloc/

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 2015-11-30
    • 1970-01-01
    • 2011-07-22
    • 2021-07-16
    • 2020-10-25
    • 2011-07-04
    • 2012-08-18
    相关资源
    最近更新 更多