问题标签 [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.

0 投票
1 回答
1761 浏览

android - 如何解决 android (NDK) 中没有 futimes() 的问题?

我有需要futimesfutimens功能的大型项目。不幸的是,android ndk包含文件夹的头文件中没有这样的功能。是否有解决方法(存根或使用现有函数的简单代码片段)?

futimes可以在此处找到该函数的文档。

0 投票
1 回答
989 浏览

android - ualarm() 等效项(Android Bionic libc)

ualarm()未在 Android 版本的 libc、bionic 中实现(检查Bionic unistd.h)。此外,ualarm() 已过时。

我在 Android NDK 上移植一个应用程序,所以我需要一个等效的ualarm(999999,999999),即会定期(每秒)发送一个SIGALRM的东西。

也许与timer_create()?它似乎在 Bionic 中实现。但是手册页中的示例确实不是微不足道的......

我愿意移植到 Android (NDK) 的代码:

0 投票
1 回答
1832 浏览

android - 将c文件与android仿生c库静态链接

我刚刚写了一个小c文件及其头文件。dev_access.c 和 dev_access.h

我想将它链接到android中的仿生库并创建一个静态/动态链接的存档文件。

我的文件在 /home/preetam/mydev/ android 源在 /home/preetam/android_source

以下是我当前的makefile

我不确定出了什么问题,但是头文件没有链接,并且出现了一些丢失和重新定义的错误。以下是控制台输出:

首先,我的 Makefile 是否正确?将您的程序与仿生 libc 链接的正确方法是什么?如何使最终对象成为档案?

0 投票
2 回答
5589 浏览

c - 将 sigaction 重置为默认值

在 Android 中,仿生加载器为 statrtup 上的每个进程设置一个默认信号处理程序:

我想将其设置回默认值,这意味着我想忽略这些信号并且默认处理程序将发生(CORE DUMP)

如何恢复执行的操作?我想忽略所有这些,就好像从未调用过上述函数一样

0 投票
3 回答
596 浏览

android - Android 库中的线程安全

我正在尝试为 Android 系统实现本机共享库(.so)。当然,有些代码块需要是线程安全的。

我在这里发现不支持 pthread 锁、互斥锁或条件变量。

我想知道在库级别通常使用什么来实现线程安全?

0 投票
1 回答
829 浏览

android - Android Bionic 和 Libc 库

我想为 android (shell) 创建小型命令解释器。它应该只执行一些功能:'scanf'、'printf'、'cd'、'pwd'、'echo'、'set'、'unset'、'exit',并且应该支持内部路径变量:'path'、'家”,“状态”。是否可以使用 Native Android Kit 和仿生库来实现这一点。如果有任何帮助,我将不胜感激。提前致谢。

0 投票
1 回答
121 浏览

android - malloc_debug_leak.cpp 中的“0x48151642”是什么意思

最近在看android的libc-init代码。当我阅读第malloc_debug_leak.cpp70 行和第 263 行中的代码时,它说如下。

我知道GUARDand的MEMALIGN_GUARD意思,但我真的不明白值的含义,例如static uint32_t MEMALIGN_GUARD = 0x0001是OK?或任何其他值。有什么0xA1A41520有用的信息吗?</p>

http://i.stack.imgur.com/9lgzv.png

http://i.stack.imgur.com/ZMM5u.png

0 投票
0 回答
512 浏览

android - 如何通过 Android 的 libc 生成新进程

我有一个跨平台库并使用posix_spawnlibc 在 Linux'y 环境中生成新进程。但是,这不包含在 Android 中包含的 Bionic libc 库中。有没有另一种方法可以通过 Androids libc 生成进程?

0 投票
1 回答
360 浏览

android - 访问 char[] 时的段错误

我有一个功能

realpath在 Android 仿生中调用

并且当从类似生产的场景中传递某个不存在的路径时realpath,我在以任何方式访问时都会遇到段path2错误(当我只是尝试打印它以及打印它时会发生这种情况memcpy)。

我已经验证了当段错误发生时程序没有内存不足(通过调用 malloc 并验证它的返回不是NULL),但你可以确信这个调用发生在一个相当大的堆栈上。

我还验证了在不太密集的代码路径中,realpath可以准确返回NULL而不会出现段错误。

有谁知道为什么会这样?

0 投票
2 回答
612 浏览

android - Android中的进程共享互斥锁和条件变量

Android 是否支持进程共享的互斥锁和条件变量?我听说仿生实现不支持它们,因为 Android 有其他 IPC 方式,但找不到可以确认或否认它的信息。

消息来源有点混乱。在 pthread_mutexattr_setpshared 之前的仿生 pthread_mutex.cpp中有一条评论:

但在函数内部还写着:

那么有没有人在原生安卓应用程序中使用过进程共享的互斥锁(和条件变量)(例如,通过与ashmem_create_region共享它们)?