问题标签 [bionic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 知道嵌入式系统是使用 glibc 还是仿生?
例如 android 使用的是仿生而不是 glibc,但如何确定它是真的使用仿生http://en.wikipedia.org/wiki/Bionic_(software),而不是 glibc?
我可以在 /proc 文件系统中找到此信息,还是有任何命令可以告诉当前系统上使用了仿生?
顺便说一句,嵌入式系统上是否有可能拥有多个 c lib?
c - glibC 和 bioniC 的区别
嗨,我在优化方面遇到了一些问题。
我尝试使用内置函数编译 gcc 测试之一:
我尝试用接下来的 2 种方式编译它:
1 种方式:
gcc -mglibc -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
并且在输出汇编文件中全部call pow
更改为call cbrt
- 它的预期
2方式:
gcc -mbionic -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
使用-mbionic
而不是-mglibc
我得到输出call pow
有谁知道函数是如何工作optmimization
的builtin
Bionic
c++ - atexit() 函数仿生与 glibc
我发现了一个有趣的时刻:atexit()
函数对bionic
和的工作方式不同glibc
。这是一个例子:
结果bionic
:
结果glibc
:
为什么结果不同?
android - 在 Android 上使用 time(NULL)
time(NULL)
在 Android上使用是否有任何已知问题?
我尝试运行以下代码:
然后使用以下格式记录结果:
这是我得到的输出:
还有其他问题,例如在不同的循环迭代中获得相同的时间值。
我在运行 Android 4.0.3 (API 15) 的虚拟设备和物理设备上都遇到了这些问题,两者都配置了正确的时间。上面的输出来自物理设备。
我被引导相信 Bionic 中的这个特定的 POSIX 函数存在问题,但我在网上或 Bionic 文档中都找不到任何参考。
android - 如何使用 Bionic C 库中不支持的标准 C 库来构建 Android-NDK?
我的原生资源使用了复杂的操作(定义)。这些操作在标准 C99 数学库中实现,但不在 Android-NDK 使用的仿生数学库中实现。出于这个原因,我想使用标准数学库而不是仿生数学库来编译我的源代码。
我的可能性是什么?
android - 构建 Android 仿生所需的最少文件集
我对 Android 的仿生进行了一些更改,以便使用特定的应用程序运行它。我想将这些修改保留在我的源代码管理 (SVN) 中。知道仍然能够使用 Android 的常规 envsetup.sh->lunch->make 工作流程构建仿生所需的最少文件集吗?
android - 嵌入式Linux上的dalvik segfault
全部。我正在尝试让 dalvikVM 在嵌入式 linux 上运行。我将 xilinx-linux 用于在 qemu 上运行的 zynq-zc702。我遵循了本教程:
http://www.bolatdinc.com/?p=336&cpage=1
我将 ashmem 和 logger 移植到我的 linux 内核,并为 armv7-a 架构编译了 dalvik。但是当我运行 /system/bin/dalvikvm 时,我得到了以下 strace 的段错误:
奇怪的是,即使我评论了 dalvik/dalvikvm/Main.cpp main(...) 函数中的所有行,除了 return 0; 我仍然得到这个段错误。
似乎是某种 libc/bionic 问题,但我仍然不知道如何解决它。
如果我为它创建非常基本的 helloworld 应用程序和 Android.mk,将 helloworld 构建为 android 树的一部分,我会得到相同的段错误。如果我使用 arm-xilinx-linux-gnueabi- 工具链构建 helloworld,它可以正常工作。我相信那是因为它与 glibc 相关,而不是仿生。
我不太擅长拆解东西,所以我附加了 objdump -d 输出来工作 helloworld 和 segfaulting 一个。
在职的:
带段错误:
任何帮助或想法表示赞赏。谢谢
android - 重建部分 Android (libc)
我已经从http://source.android.com下载了源代码,并按照说明构建它们。
但现在我不想重建只是Bionic
libc
。
是否有可能,没有完整的构建过程?
android - rand() 函数仿生与 glibc
我发现rand()
仿生的功能如果不包括在内就不起作用stdlib.h
结果glibc
:
编译成功
结果bionic
:
编译失败
在bionic
源代码中,我们有以下实现:
为什么它适用glibc
但不适用于bionic
android - dlopen() 在 Android 上失败,但在 Linux 上有效
dlopen()
我正在尝试使用惰性模式动态加载特定的共享库。共享库中当然有未解析的符号,但惰性模式应该忽略它们。它在 Linux 上确实会忽略它们,并且在运行时使用符号后实际上会发生解析。
但是在Android中,它不起作用,虽然我使用惰性模式,但dlopen()
由于未解析的符号而失败。
这是我正在谈论的代码
这是怎么回事 ?