内核空间中是否有libc?

时间:2013-10-21 08:34:59

标签: linux linux-kernel kernel glibc

内核空间中是否有libc?我的意思是你必须针对某些libc构建内核吗?那么在内核空间中是否存在libc(可能是静态链接的)?

如果是,这与userland glibc有什么关系?它们必须是同一版本吗?

2 个答案:

答案 0 :(得分:6)

内核空间实际上没有libc。 Libc是用户空间库,你不能在内核空间中使用它。

但是几乎所有来自libc的内核空间中有意义的函数都被移植了。你可以在include / linux / often中找到标题。

据我所知,这两个实现不共享代码库。

答案 1 :(得分:0)

libc中可用的一些函数是在内核代码中实现的,例如,sa printf函数可以正常工作(至少就内核代码而言)它自我要求)。

这意味着虽然看起来代码使用libc(通过似乎可用的函数),但实际上不需要将它与库(AFAIK)链接。