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

原文链接: https://www.cnblogs.com/biglucky/p/6343794.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    android bionic c 对比 gnu c

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/248347

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午2:50
下一篇 2023年2月14日 上午2:50

相关推荐