gpt4 book ai didi

c - Linux 内核和 GNU C 库之间的关系是什么?

转载 作者:行者123 更新时间:2023-12-03 09:46:46 24 4
gpt4 key购买 nike

我们知道 Linux 内核是用 C 编写的。但它是否也调用标准 C 函数,如 malloc()或额外的功能,如 mmap()哪些是由 GNU C 库 (glibc) 提供的?在那种情况下,这很奇怪,因为与硬件的直接低级交互,例如内存管理应该几乎总是内核的任务。那么,哪个依赖于另一个?哪个更基本/低级?

最佳答案

We know that Linux kernel is written in C. But does it also call standard C functions like malloc()



不是。但是,内核定义了类似的函数,如 kmalloc .请注意,这不是库的一部分;它是内核本身的一部分。

or extra functions like mmap()



不是 mmap ,但还有 a lot内核中的内存管理功能。

which are provided by GNU C library (glibc)?



当然不。内核从不使用 glibc。

So, which is dependent on the other?



glibc 的某些部分取决于内核。其他部分(如 strcpy )与内核无关,也不依赖于它。内核从不依赖于 glibc。您可以在 Linux 上运行使用不同 libc(如“musl”)或根本不使用 libc 的程序。

关于c - Linux 内核和 GNU C 库之间的关系是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59737199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com