我知道read
是系统调用。但是当我阅读 read 的 man 2 and man 3
时,它显示了不同的解释。所以,我怀疑 read
有库函数和系统调用。在这种情况下,如果我在我的 c 程序中使用 read
,编译器是否会将 read 视为 library
函数或 system call
请解释一下这种混淆.
最佳答案
事实并非如此。系统调用存在于 libc(C 标准库)中,就像库函数一样。 libc 中系统调用的实现只是“ stub ”,它调用特定于系统的方法来调用内核。
关于c - C编译器如何决定是调用库函数还是系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638448/