<分区>
在尝试实现一个系统调用
之后,我对 Linux 完全感到困惑 :D
Linux 内核 API
、系统调用
、系统接口(interface)
和 GNU C 库
之间有什么区别?
我找到了每个项目的这些链接:
Linux 内核 API
https://www.kernel.org/doc/htmldocs/kernel-api.html
Linux 系统调用
http://syscalls.kernelgrok.com/
http://lxr.free-electrons.com/source/arch/x86/syscalls/syscall_32.tbl
系统接口(interface)
http://pubs.opengroup.org/onlinepubs/9699919799/idx/functions.html
GNU C 库
http://www.gnu.org/software/libc/manual/html_node/index.html
我对这些功能感到困惑。
例如sprintf
存在于Linux Kernel API
中,但是System Interfaces
函数列表也包含这个函数。某些函数不应在内核模式下使用(例如 printf
)。许多函数使用不同的名称执行相同的任务(例如 sys_open
和 open
),等等...
我的问题是:
Linux 内核 API
、系统调用
、系统接口(interface)
和 GNU C 库
之间有什么区别?
我应该使用哪个功能,不应该使用哪个功能?
哦!我忘记了 C 标准库
:)