android - libc++.so 是否单独使用 libc.so 或 libc++.so?
问题描述
在 android /system/lib 中,我看到 libc++ 和 libc 都存在。我知道 C++ 也包括 C。所以,如果我调用 printf、scanf、malloc 等函数......从哪个库中执行这些函数?来自 libc.so 还是 libc++.so?
最近我不得不调查一个内存泄漏问题,所以我使用 libc.debug.malloc 1 方法。
我做到了,
- 将 libc_malloc_debug_leak.so 推送到 /system/lib
- 和壳
- 苏
- setprop libc.debug.malloc 1
- 停止
- 开始
- 运行我通过 JNI 调用 c++ 代码的 android 应用程序。我故意泄露了 malloc 分配的内存。
我仍然没有在日志中获得泄漏信息。
如果该方法仅适用于 libc 并且我的应用程序仅使用 libc++,则未在日志中显示泄漏信息的方法是正确的。
请帮助我了解具有本机 cpp 代码、libc++ 或 libc 的 android 应用程序使用哪个库?而且libc++对libc有任何依赖吗?
解决方案
推荐阅读
- sql - Redshift - 过滤掉字符左侧或右侧空白的行
- c# - 在 View 中获取空引用异常。剃刀 MVC C#
- laravel - Laravel 查询生成器快速 JSON 连接不为空
- android - 从数据库中检索图像列表并使用 ListView 显示它们?
- java - 处理来自 rabbitmq 错误队列的消息
- google-cloud-platform - 如何获取一个巨大的谷歌云存储桶中所有对象的报告?
- sql-server - 连接到 Azure SQL 数据库时出错。信号量超时期限已过。(Microsoft SQL Server,错误:121)
- postman - 如何通过邮递员的测试访问路径参数?
- android - setSupportActionBar 不适用于 YouTubeBaseActivity
- python - Google oauth - 获取用户电子邮件