我正在尝试交叉编译SSH服务器以使用newlib在自制操作系统上移植它(因为操作系统使用的是基于newlib的lib).
我遇到了RedHat Newlib的一些麻烦,我想知道我是否可以用另一个库(例如uclibc)进行移植?
这3个"libc"接口(libc,newlib和uclibc)之间是否存在差异?
GNU libc(glibc)包括ISO C,POSIX,System V和XPG接口.uClibc提供ISO C,POSIX和System V,而Newlib仅提供ISO C.
虽然您可能能够移植其他库,但它们具有特定的操作系统依赖性.除非您的操作系统本身符合POSIX标准,否则可能是不切实际的前景.
即使使用Newlib,您也有责任适当地实施系统调用以支持设备,文件系统和内存管理.