android的Bionic目录中为何还要实现C标准库?
arm的编译器里已经有C标准库的lib包了,android为啥还要自己再实现呢?不明白,望高手解答!希望路过的人也能留下点东西,共同学习。O(∩_∩)O哈哈~...
arm的编译器里已经有C标准库的lib包了,android为啥还要自己再实现呢?不明白,望高手解答!希望路过的人也能留下点东西,共同学习。O(∩_∩)O哈哈~
展开
3个回答
2013-07-20
展开全部
- 采用BSD License,而不是glibc的GPL License;- 大小只有大约200k,比glibc差不多小一半,且比glibc更快;- 实现了一个更小、更快的pthread;- 提供了一些Android所需要的重要函数,如”getprop”, “LOGI”等;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-20
展开全部
主要应该是电量优化吧,针对移动设备,省电用的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
google自己搞的bionic libc来替代glibc想来是有原因的,本来glibc也是lgpl,应该也没有版权问题,但是系统调用的接口有限,google应该是用自己的bionic libc来暴露出更多的系统调用接口,系统调用不属于GPL,这样才有可能让上层有更大的权限去操作底层驱动,这样硬件厂商就可以将有关商业利益的代码放到HAL层(hardware abstraction layer),底层驱动层只要提供操作接口,这种代码在内核公开出来也无所谓,主要的业务逻辑仍然在HAL层以二进制或者库的形式存在,虽然放到了用户空间,但这才是正真的驱动,也正好避开了GPL的感染性,其实主要是显示先关的芯片有这个需求,google这一招太厉害
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询