在嵌入式开发的过程中,大家都会经历交叉编译这个过程,有交叉编译就离不开glibc和uclibc的选择问题,可能很多人都不太清楚这两者的具体区别,那就更不知道应该怎么选了,这边给大家大致总结一下: 1.gclibc中的库的功能比较全,而uclibc只有常用功能库,可以这样理解uclibc只是一个常用字的字典,里面只有常用字,生僻字是没有的,而glibc就是一本完整的新华字典,所有的中文字都收纳在内,所以glibc显然是功能更强大的,但是功能强大带来的弊端就是体积也更大,如图: 所以当flash空间比较大的时候可以不用在意,当实际使用做产品需要压缩flash空间节约成本的时候uclibc的优势就体现出来了。 2.gclibc和uclibc的库名称不同,大家分别进入glibc和uclibc的lib目录下就会发现,两者自带的动态库的名称是有区别的,所以在程序编译的时候就要分是gclibc的交叉编译工具还是uclibc的交叉编译工具了,不然编译出来的程序很可能是无法运行的,或者会报很多错,各种各样的库找不到之类的。 3.gclibc和uclibc在移植不同的工具的时候也是有区别的,比如说openssl,在移植的过程中一定要区别交叉编译工具,不然也很可能造成工具无法使用的现象,还有一些工具用uclibc是无法编译通过的,因为uclibc缺少了它需要使用的库,这个时候大家就不要去花时间找问题了,因为这个问题唯一的解决办法就是使用gclibc,花再多时间用uclibc也是无法编译通过的拉。 今天先总结这么多,有不足的也欢迎大家补充。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:glibc和uclibc的区别及使用注意事项 https://www.yhzz.com.cn/a/13284.html