最近我对编译器、标准库和内核的内部工作方式很感兴趣。当我在寻找标准C库的源代码时,我发现了Glibc。但是在Glibc官方网站上所说的是:该库定义了“系统调用”和其他基本功能,如open、malloc、printf、exit...
因此,我猜想Glibc实际上并没有提供标准C库的源代码,而是为这些函数提供系统调用,然后由内核来处理,我是对的吗?
我想了解更多关于这些内容的知识。例如,在 C 程序中,sin
、printf
和 strlen
函数是如何执行的?如果 Glibc 只提供系统调用,那么这些函数的实际源代码在哪里?内核如何执行它们?可以在哪里找到执行这些函数的内核部分的源代码?
.so
和.a
文件吗? - Mike