新的C库Bionic的介绍

 Google的在创建一个新的C库代替使用存在GNU c库或者嵌入式的C库。有一下的原因:

   License:这glibc和uClibc在LGPL下是可获得的,这就限制了他们由所有的应用程序被使用。代替,Bionic在BSD的执照下发布的,一个高特许的版本版本,没有设置对于类库使用的任何限制。

   Speed:Bionic是被指定为移动计算。它被裁减去高效率的工作特别在有限的CPU周期和和手机硬件的内存有限。

   Size:Bionic被设计尽可能的简单。它提供在内核设施的轻量级的封装和很少的APIs,使与其他可选项使相比更小。这一章将覆盖这些APIs。

二进制兼容:

    尽管它是一个C标准库,Bionic并不是带有其他C库的二进制兼容。对象文件盒静态库相对于其他c库被产生不应该动态的和Bionic相连。这样导致不能连接或者执行你本地应用程序。

   除了这,和其他C库静态连接产生任何用用程序和不和Bionic混合在Android平台没有任何问题,除非它动态加载了其他系统的类库在运行期间。

   提供了什么:

     内存管理  文件的输入和输出  字符串处理 机制 日期时间 进程控制 信号处理 socket通信 多线程 用户和组 系统配置 命名服务开关

  丢失了什么:

   正如上面提到的,被设计为Android平台和调节为移动计算的。并不是每一个标准C库被支持的。Android NDK文档文件提供了一个完整完整丢失函数的列表;然而,这样的信息在真正的头文件可以被获得的。Bionic头文件位于平台/android-<api-level>/arch-<architecture>/usr/include在这Android_NDK_HOME目录下。

   每个头文件在这个目录包含定义的丢失的函数。列举在stdio.h头文件丢失的函数,如下:

 #if 0 /* MISSING FROM BIONIC */
char  *ctermid(char *);
char  *cuserid(char *);
#endif /* MISSING */

如果遇见被用来关闭这些行在这头文件,和相关的注释指示包含的丢失函数的列表。除了这些列表外指示,这Android NDK文档也陈述了函数同通过Bionic但是被实现仅仅作为stub,没有任何或者功能性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值