android bionic c 对比 gnu c

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 以后有新的在这补充

posted @ 2017-01-23 12:30  Magnum Programm Life  阅读(1674)  评论(0编辑  收藏  举报