4

Is there a libc in kernel space? I mean you have to build kernel against some libc right? So Is there a libc (probably statically-linked) sitting within kernel space?

If yes, how is this related to userland glibc? Must they be the same version?

4

2 回答 2

10

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

但是几乎所有在内核空间中有意义的 libc 函数都被移植了。您通常可以在 include/linux/ 中找到标头。

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

于 2013-10-21T09:37:16.023 回答
1

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

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

于 2016-07-05T12:59:46.943 回答