首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libc、newlib和uclibc接口之间有什么区别吗?

libc、newlib和uclibc接口之间有什么区别吗?
EN

Stack Overflow用户
提问于 2015-12-23 10:50:14
回答 2查看 4.4K关注 0票数 5

我正在尝试交叉编译一个SSH服务器,以便使用newlib (因为操作系统使用基于newlib的lib )将其移植到自制的操作系统上。

我在使用RedHat Newlib时遇到了一些问题,我想知道是否可以用另一个库(例如uclibc)进行移植?

这个3 "libc“接口(libc、newlib和uclibc)之间有区别吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-23 11:10:35

glibc (glibc)包括ISO C、POSIX、System V和XPG接口。uClibc提供ISO C、POSIX和System V,而Newlib只提供ISO C。

虽然您可以移植其他库,但它们有特定的OS依赖项。除非您的操作系统本身符合POSIX,否则这可能是一个不切实际的前景。

即使使用Newlib,您也有责任适当地实现syscalls,以支持设备、文件系统和内存管理。

票数 11
EN

Stack Overflow用户

发布于 2015-12-23 11:03:37

主要的区别在于库的大小,uclibc和newlib都集中在嵌入式系统上,因此它们希望体积小、速度快,而glibc则专注于完整的功能。

因此,在嵌入式版本中可能没有所有函数,但是标准c接口在所有c++库中应该是相同的。数据类型可能不同,特别是结构中的字段名称通常不标准化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34433976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档