Linux内核中libc.so.6的相关性

我的问题是Linux内核是否包含libc.so.6 ? 在googlesearch并经过不同的链接之后,我们发现libc.so.6不是Linux内核的一部分,因为内核在内核空间中实现了相同的库。 libc.so.6是一个用户空间库。 但是,仍然存在这样的问题:如果libc.so.6从“/ lib”中删除,则崩溃,因为Linux的所有基本应用程序崩溃。

所以,基本的问题留在:

  1. Linux可以运行没有libc.so.6 ? 如果是的话,在哪里使用这种实施?
  2. 谁提供libc.so.6 ? 它是否仅由Linux发行版提供?
  3. Linux内部是否支持线程?

Solutions Collecting From Web of "Linux内核中libc.so.6的相关性"

  1. 是。 例如,我可以编写一个不使用libc的程序集。 这里有一些例子: https : //stackoverflow.com/questions/284797/hello-world-in-less-than-20-bytes
  2. 在Linux上,glibc是libc的常用实现: https : //www.gnu.org/software/libc/
  3. 是。 glibc提供的线程选项是在内核接口上的一个匀场层。

Linux可以运行没有libc.so.6吗? 如果是的话,这是怎么回事?

用选项-nostdlib编译代码不会使用标准库,

GCC男士告诉,

-nostdlib链接时不要使用标准的系统启动文件或库。 没有启动文件,只有你指定的库将被传递给链接器。 编译器可能会生成对memcmp,memset,memcpy和memmove的调用。 这些条目通常由libc中的条目解决。 指定此选项时,应通过其他机制提供这些入口点。

检查网页的glibc免费执行。