【发布时间】:2012-08-21 07:20:25
【问题描述】:
例如,android 使用的是仿生而不是 glibc,但如何确定它是真的使用仿生 http://en.wikipedia.org/wiki/Bionic_(software),而不是 glibc?
我可以在 /proc 文件系统中找到这些信息吗,或者是否有任何命令可以告诉当前系统上使用了仿生?
顺便问一下,嵌入式系统上可能有多个 c lib 吗?
【问题讨论】:
-
如果每个应用程序都与它的 libc 静态链接,那么不同的应用程序可能正在使用不同的 libc。
-
如何将应用程序静态链接到它的c库?
-
对于 gcc,链接时使用
-static选项。使用实用程序file告诉您可执行文件是静态链接还是动态链接。我使用strings列出动态链接的可执行文件使用的库和入口点。 -
strace只会显示对库文件执行了打开/mmap/关闭文件操作。你必须在目标板上运行命令。所以strings不是错字。
标签: android embedded-linux glibc bionic