内核空间中是否有libc?我的意思是你必须针对某些libc构建内核吗?那么在内核空间中是否存在libc(可能是静态链接的)?
如果是,这与userland glibc有什么关系?它们必须是同一版本吗?
答案 0 :(得分:6)
内核空间实际上没有libc。 Libc是用户空间库,你不能在内核空间中使用它。
但是几乎所有来自libc的内核空间中有意义的函数都被移植了。你可以在include / linux / often中找到标题。
据我所知,这两个实现不共享代码库。
答案 1 :(得分:0)
libc
中可用的一些函数是在内核代码中实现的,例如,sa printf
函数可以正常工作(至少就内核代码而言)它自我要求)。
这意味着虽然看起来代码使用libc
(通过似乎可用的函数),但实际上不需要将它与库(AFAIK)链接。