当我使用man -a close时,第一页是POSIX手册页,然后是close(2) (2表示系统api或内核函数)。这意味着至少有两个版本的close()。例如,像这样的代码片段:........
close(fd); -----here, which version is called,is that one from the POSIX lib, or the raw system API?附注:因此我的
我知道read是系统调用。但当我读到man 2 and man 3 of read时,它给出了不同的解释。因此,我怀疑read具有库函数和系统调用。在这种情况下,如果我在我的c程序中使用read,编译器是否会认为read as library function或system call,请解释一下这种混淆。
我想知道POSIX Linux API是否在Mac上使用。Linux有一些功能,像pwrite、readv、writev、nftw、symlink、管道、popen、posix_self、sigprocmask、sigaction (系统调用)。Mac也有同样的API吗?我听说OS-X是基于BSD内核的,所以我想知道如果我坚持只使用POSIX函数,我是否可以在OS-X上使用在Linux上编写的代码。