android bionic c 对比 gnu c

Bionic作为Android平台上的BSD标准C库,其设计旨在绕过GPL2标准的限制,实现更小的代码体积和更低的CPU需求,适合消费电子设备。然而,它在C++特性支持上有所欠缺。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bionic 是一个BSD标准的C库,用在android平台上面的。

Android 是一个不完全开源的系统。 android的kernel使用的是基于linux的,linux使用的是GPL2的开源标准, 但是这种标准具备传染性,使用这个标注的软件不能收费。

android的设计是希望第三方的公司帮忙开发应用程序的。是需要商业话盈利的,所以为啦绕开GPL2标准,而使用略BSD的标准。因为这使得它们既可以使用开源软件,又不用向开源社区公开对软件所做的修改。

 

Bionic的优势:

  1.   由于删除头文件中许多的注释文件,代码段占用的空间非常少,早期的时候,bionic只要200Kb, 而gnu libc需要400kb.
  2.    BSD协议优势
  3.  可以运行在更低的CPU运转速度,大部分消费类电子都有待机的问题,和低功耗的模式,需要降频

 

Bionic限制:

  1. 不支持C++ exception
  2. 不支持C++ STL模板编程

 

Bionic Pthread:

  1.  不支持pthread_cancel
  2.  pthread_once 初始化的时候没有C++ 异常抛出
  3.  pthread_atfork()  

其他:

  1.  需要使用unicode编码
  2.  ABI bugs

 

TODO 以后有新的在这补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值