3

Androidプラットフォームで使用されているlibcの実装は何ですか?どのmalloc実装が使用されていますか(ptmallocまたはtcmallocまたはその他)?

4

1 に答える 1

6

libc はBionicで、malloc は dlmallocという名前のDoug Lea バージョンです (スレッドセーフのために USE_LOCKS が有効になっています)。

更新: dlmalloc は 2016 年 1 月に削除されました: https://github.com/android/platform_bionic/commit/c650447239352d43acc2fd99a8579a85ae0469ab ""

+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/

于 2010-02-15T15:08:41.593 に答える