C编译器如何决定是调用库函数还是系统调用

Pav*_*mar 0 c compiler-construction function system-calls

我知道那read是系统调用.但是,当我阅读阅读时man 2 and man 3 ,它向我展示了不同的解释.所以,我怀疑它read有库函数和系统调用.在这种情况下,如果我read在我的c程序中使用,编译器是否会将读取视为library函数或system call请在此混淆时解释我.

dus*_*uff 6

它没有.系统调用存在于libc(C标准库)中,就像库函数一样.libc中系统调用的实现只是"存根",它调用特定于系统的调用内核的方法.