ld选项-lrt指的是什么库(Bionic libc)?
这个选项是什么意思? -lrt 我在某种程度上知道这意味着LD正在寻找具有实时扩展的库,但是在广泛搜索之后,我找不到确切的定义(或哪个库). . 使用Bionic(Android)libc,Android NDK Docs详细介绍了(与Pthreads一起)已集成. 我问,因为它似乎是隐式的(即,当我调用编译器时,一个定制编译的GDC,直接,我收到一条消息,说LD找不到-lrt) 编辑 来自仿生概述 Bionic的C库带有其自己的Pthread实现 In.这与其他历史C库不同: - place it in an external library (-lpthread) - play linker tricks with weak symbols at dynamic link time 对实时功能的支持(又称-LRT)也捆绑在一起 C库. 问题是collect2正在将选项-lrt(以及-lpthreads)传递给ld. dan
2 2024-02-17
编程技术问答社区
无法RDP到亚马逊EC2实例(windows服务器)。
启动Windows 2016后,Amazon EC2实例, 我收到的ec2-18-221-95-56.us-east-2.compute.amazonaws.com.rdp文件可以连接到Windows实例. 从我的ubuntu笔记本电脑中,单击.rdp文件,我在提供密码后收到以下消息: You requested an H264 GFX mode for server ec2-18-221-95-56.us-east-2.compute.amazonaws.com, but your libfreerdp does not support H264. Please check Color Depth Settings. ubuntu仿生笔记本电脑: $ uname -a Linux machine 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64 x86_64 x86_64
4 2024-01-26
编程技术问答社区
将签名行动重置为默认值
在Android中,Bionic Loader为Statrtup上的每个过程设置了一个默认信号处理程序: void debugger_init() { struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_sigaction = debugger_signal_handler; act.sa_flags = SA_RESTART | SA_SIGINFO; sigemptyset(&act.sa_mask); sigaction(SIGILL, &act, NULL); sigaction(SIGABRT, &act, NULL); sigaction(SIGBUS, &act, NULL); sigaction(SIGFPE, &act, NULL); sigaction(SIGSEGV, &act, NULL); sigact
16 2023-09-03
编程技术问答社区
考察备用信号栈(分配的不同方法)
我正在尝试替代信号堆栈(man sigaltstack). 分配堆栈的两块代码不同: int method1(void) { struct sigaction act, oldact; memset(&act, 0, sizeof(act)); act.sa_sigaction = SignalHandler; act.sa_flags = SA_RESTART | SA_SIGINFO | SA_ONSTACK; sigemptyset(&act.sa_mask); if (sigaction(THREAD_SIGNAL, &act, &oldact) != 0) { ALOGW("sigaction failed %s\n", strerror(errno)); return -errno; } return 0; } 我在注册信号时只是使用SA_ONSTACK.在安排
8 2023-09-03
编程技术问答社区
Android的libc文档在哪里?
对于glibc,您可以找到一个在线文档我正在寻找适用于Android LIBC实施的同等文档(位于Sysroot/usr/Incluest下的标题). . 是否有这些文档? (例如,在sysroot/usr/includs/sys/vfs.h下的呼叫statfs(). 解决方案 仿生文档在哪里? 至少可以说,Google的文档很少.您可以找到它 shere .如果您通常熟悉C运行时间库,但是没有很多逐项功能文档,则有很多好的信息. Google似乎假设您不会在Android上首次学习C/C ++编程. openBSD手册页可用可用功能的确定源是标头文件.由于您可以在文件系统中的任何位置安装NDK,因此我将描述相对于NDK目录的标题位置: 在Windows上,您会发现其中的大多数: \sysroot\usr\include 但是,某些与编译器密切相关的标头在: 中 \toolc
32 2023-04-18
编程技术问答社区
如何理解bionic的bcopy.c中的这个代码片段?
我读取了 http://androidxref中的memcpy实现.com/4.0.4/xref/仿生/libc/string/bcopy.c 查找以下代码很难理解,可以任何人解释吗? 36 /* 37 * sizeof(word) MUST BE A POWER OF TWO 38 * SO THAT wmask BELOW IS ALL ONES 39 */ 40 typedef long word; /* "word" used for optimal copy speed */ 41 42 #define wsize sizeof(word) 43 #define wmask (wsize - 1) 44 ... /* 78 * Copy forward. 79 */ 80 t = (long)src; /* only need low bit
32 2022-11-25
编程技术问答社区
如何将libc添加到android应用程序中?
我正在编写一个c代码,我希望使用ndk在Android中运行.我在代码中有Glibc库,因为我明白很难直接港口.因此,我试图使用github中的仿生存储库来使用libc.在建造它时,我面临着许多错误. 可以任何人解释如何在步骤过程中逐步包含libc(或引导我到某些源).我已经搜索了很多并且无法在任何地方找到教程. 这些是我得到的错误: In file included from jni/libc/private/ScopedPthreadMutexLocker.h:22:0, from jni/libc/bionic/malloc_debug_common.cpp:47: jni/libc/private/bionic_macros.h:27:31: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++1
1382 2022-07-19
编程技术问答社区