在尝试实现System Call之后,我对Linux :D完全糊涂了。
Linux Kernel API,System Calls,System Interfaces和GNU C Library有什么区别?
我为每个项目找到了以下链接:
Linux内核API
https://www.kernel.org/doc/htmldocs/kernel-api.html
Linux系统调用
http://syscalls.kernelgrok.com/
系统接口
http://pubs.opengroup.org/onlinepubs/9699919799/idx/functions.html
GNU库
我对这些功能感到困惑。
例如,sprintf存在于Linux Kernel API中,但是System Interfaces函数列表也包含此函数。某些函数不应该在内核模式下使用(例如。printf)。许多函数以不同的名称执行相同的任务(例如。sys_open和open)等等.
我的问题是:
Linux Kernel API,System Calls,System Interfaces和GNU C Library有什么区别?我应该使用哪些功能,哪些功能我不应该使用?
噢!我忘了C standard library :)
发布于 2013-06-20 17:25:00
write系统调用完成的。Linux (以及更一般的Posix)在系统调用周围提供了一个C库,以方便使用。
使用此系统接口允许您实现C库。例如,C库中的putc可以通过对文件描述符1的write系统调用来实现。
analogous提供了一个类似的系统API,称为Windows。它也可以用来实现C库。https://stackoverflow.com/questions/17219898
复制相似问题